网站地图    收藏   

主页 > php专栏 > php面向对象 >

PHP 面向对象 继承 - php面向对象

来源:自学PHP网    时间:2014-11-30 12:29 作者: 阅读:

[导读] 继承关键词:extendsclassA{ private$n; protect$m; publicfunctionGetName($k){ returnstrtolower($k); } } classBextendsA{ publi...

PHP 面向对象 继承

继承关键词:extends
  1. class A{  
  2. private $n;  
  3. protect $m;  
  4. public function GetName($k){  
  5. return strtolower($k);  
  6. }  
  7. }  
  8. class B extends A{  
  9. public function GetName($k){  
  10. return "B类返回".$k;  
  11. }  

1.这里B类继承A类,如果A类有构造函数而B里没有构造函数,创建B类对象时将调用A类的构造函数,如果B类有自己的构造函数则调用自己的构造函数.

2.继承只适用于继承父类里 protect 和public 所限制的访问修饰符,对于private 修饰符不被继承.

3.子类可以重载父类里的属性,方法,当B类重载了 GetName 方法后,
$b=new B();     $b->GetName("张三") 将优先调用B类中重载的GetName()方法,如果想在子类对象中调用父类的方法时,可以使用 A::GetName("张三")  即可(前面加上 父类名::)

4.当函数前面申明 final 关键字时,子类将不能对此函数进行重载.

5.当类前面加申明 final ,此类将不能被子类继承.

6.PHP不支持多重继承,也就是说一个类只能有唯一的一个父类

7.类的对象可以使用clone 关键字克隆一个一模一样的引用副本到本地(有相同的属性和方法)
如果在克隆的时候不希望得到被克隆类相同的属性或者方法,需要在被克隆类里实现 __clone() 方法,该方法就像构造函数一样,是在被克隆的时候调用的,里面可以定义自己在类被克隆时要初始化的属性及方法.

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论