跟着百度学PHP[4]OOP面对对象编程-11-Final关键字
Final的作用就是不允许儿子继承夫类,也就是说不能够对父类在进行调用,否则将会出错。
目录---------------------------------------------------------------------------------------------
00X1 对父类的属性或方法进行重写(直接在子类当中写一个与夫类相同的属性或者方法)案例一
00x2 不允许子类重写属性或者方法(在属性或方法处加final)案例二
00x3 不允许子类重写父类(直接在类那里加final)案例三
==》总的来说就是在属性或方法出加final就是不允许对属性或方法进行重写。同理在类出加final加即不允许对父类进重写。
-----------------------------------------------------------------------------------------------
00x1 子承父的重写(案例一)
<?php
class Fulei
{
function test1(){
echo "This is test1";
}
function test2(){
echo "This is test2";
}
}
class Zilei extends Fulei{
function test1($name){ #对test1进行重写,这里不管参数是什么,只要方法名与父类的一致就会被重写
echo "励志成为网络安全大牛!".$name."\n";
}
}
$object=new Zilei();
$object->test1("张三");
?>
输出如下图所示

如图所示,成功的将其重写了。
00x2 不允许子类重写属性或者方法(案例二)
<?php
class human
{
final public function test(){ #注意我在此行加了final 不允许子类重写该方法。
echo "this is 1";
}
public function test2(){
echo "this is 2";
}
} class Studen extends human
{
public function hello()
{
echo "hello world";
}
public function test() #对父类进行重写!
{
echo "我要做一个大牛!";
}
}
$one=new Studen;
$one->test(); ?>
就会爆出如下错误:
| ( ! ) Fatal error: Cannot override final method human::test() in D:\wamp\www\1.php on line 22 |
|---|
00x3 不允许子类重写属性或者方法(案例三)
<?php
final class human#注意我此行加了final 不允许子类重写该类。
{
public function test(){
echo "this is 1";
}
public function test2(){
echo "this is 2";
}
}
class Studen extends human
{
public function hello()
{
echo "hello world";
}
public function test() #对父类进行重写!
{
echo "我要做一个大牛!";
}
}
$one=new Studen;
$one->test();
?>
爆出如下错误:
| ( ! ) Fatal error: Class Studen may not inherit from final class (human) in D:\wamp\www\1.php on line 22 |
|---|
THE END
跟着百度学PHP[4]OOP面对对象编程-11-Final关键字的更多相关文章
- 跟着百度学PHP[4]OOP面对对象编程-10-静态关键字static
使用static关键字可以将类中的成员标识为静态的,既可以用来标识成员属性,也可以用来标识成员方法. 以Person类为例,如果在person类中有一个“$country=’china’”的成员属性, ...
- 跟着百度学PHP[4]OOP面对对象编程-7-OOP的一些关键子讲解
面对对象常用的一些关键子:http://www.cnblogs.com/xishaonian/p/6146794.html排版不是很好望见谅. THE END
- 跟着百度学PHP[4]-OOP面对对象编程-1-什么是面对对象编程
该阶段学习参考:http://www.cnblogs.com/xiaochaohuashengmi/archive/2010/09/10/1823042.html 面向对象编程(Object Orie ...
- 跟着百度学PHP[4]OOP面对对象编程-17-多态
多态是除封装和继承之外的另一个面象对象的三大特性之一. 多态的作用简而言之就是为程序做括展. 比如说在公司上班,每个月财务发放工资,同一个发工资的方法,在公司内不同的员工或是不同职位的员工,都是通过这 ...
- 跟着百度学PHP[4]OOP面对对象编程-14-克隆对象__clone()方法
$b=clone ($a) #克隆a对象. <?php class Human { private $name; private $sex; private $age; function __c ...
- 跟着百度学PHP[4]OOP面对对象编程-13-魔术方法__set(),__get(),__isset(),__unset()
__set() 在对象访问私有成员的时候自动被调用,达到了给你看,但是不能给你修改的效果!(在对象访问一个私有的成员的时候就会自动的调用该魔术方法) __get() 方法用于获取私有属性值.(在设置私 ...
- 跟着百度学PHP[4]OOP面对对象编程-12-对象接口技术(interface)
PHP与大多数面向对象编程语言一样,不支持多重继承.也就是说每个类只能继承一个父类. 接口正是解决每个类只能继承一个父类这个问题的 接口用什么权限,继承的那个方法也要使用什么权限. 接口的声明使用:i ...
- 跟着百度学PHP[4]OOP面对对象编程-6-构造方法(__construct)和构析方法(__destruct)
函数就是成员方法(方法有三:构造方法.成员方法.析构方法) 下面是两种方法. 构造方法和构析方法 00x1 构造方法 构造方法会在创建对象之后自动调用.其名称为__construct <?php ...
- 跟着百度学PHP[4]OOP面对对象编程-5-内部引用$this
$this就是对象内部代表这个对象的引用 可以调用被封装的方法或者属性! <?php class Person{ private $name; "; var $sex; functio ...
- 跟着百度学PHP[4]OOP面对对象编程-4-对象成员的访问 ->
使用一个减号一个尖括号->来达到访问对象成员. $object->方法 来看案例. <?php class Person{ private $name; "; var $s ...
随机推荐
- eclipse下遇到 无法解析类型 javax.servlet.http.HttpServletRequest
参考:http://bbs.csdn.net/topics/370187655?page=1 java.lang.Error: 无法解析的编译问题: 无法解析类型 javax.servlet.ht ...
- VC----SDK下对窗口非客户区的操作
窗口分成两大部分:客户区和非客户区.非客户区再次细分:标题栏,如图片中顶部深蓝色:左边框,如图片中红色部分:上边框,如图片中绿色部分:右边框,如图片中右侧天蓝色部分:底边框,如图片中下面棕色部分. 之 ...
- jquery mobile 图片自适应问题
解决办法: 加入一段css <link rel="stylesheet" href="http://jquerymobile.com/demos/1.1.0/doc ...
- linux sort,uniq,cut,wc,tr命令详解
sort是在Linux里非常常用的一个命令,对指定文件进行排序.去除重复的行 sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sor ...
- mysql Table 'performance_schema.session_variables' doesn't exist
CMD 进入MYSQL的安装目录..Bin 下 执行 mysql_upgrade -u root -p --force 输入密码..然后等待一会儿..会跑一些东西..然后重启服务
- Orchard源码分析(6):Shell相关
概述在Orchard中,提出子站点(Tenant)的概念,目的是为了增加站点密度,即一个应用程序域可以有多个子站点. Shell是子站点(Tenant)级的单例,换句话说Shell代表了子站点.对比来 ...
- 配置文件操作模块,configparser
configparser configparser用于处理特定格式的文件,其本质上是利用open来操作文件. # 注释1 ; 注释2 [section1] # 节点 k1 = v1 # 值 k2:v2 ...
- http模拟请求工具
http模拟请求工具: postman(chrome应用) Request Maker(chrome插件) Request Maker(网站:http://www.requestmaker.com/) ...
- clearfix--清除浮动
.clearfix { zoom: ; display: table; width: %; } .clearfix:after { content: " "; display: b ...
- protobuf
1.下载地址:https://code.google.com/p/protobuf/downloads/list 安装 ./configure && make && m ...