PHP面向对象学习二

类的继承和应用
继承关键字extends
class1 --extends--->class2 ----extends-->class3
依次被继承,class3拥有class1、class2所以功能和属性,避免方法和属性重名
class  pc1{
}
class pc2 extends pc1{
}  class pc2拥有class pc1的所有功能和属性
 1 class root{
 2 function dayin(){
 3         return "root print基类打印内容";
 4          }
 5 }    
 6 
 7 class son extends root{
 8 function dayin2(){
 9         return "sonprint子类打印内容";
10          }
11 }    
12 
13 $p = new son();
14 
15 echo $p->dayin();
16 
17 //输出结果为  : root print基类打印内容                

重载:

方法重载我们也可以理解方法覆盖,在派生类里使用与基类方法
重名的方法名称执行重载
 
在上面例子中,子类为区别基类方法名,取名为dayin2。如果子类较多,方法名就会较多,可能会出现混乱。因此我们在建立子类时可以使用与基类相同的方法名。这样一来,基类方法就会被子类覆盖。这时我们可以通过使用基类名::基类方法名的方式调用原基类的方法,从而与子类同名方法区别。避免了新建方法带来的混乱。
class root{
  function dayin(){
          return "root print基类打印内容";
          }
 }    
 
class son extends root{
 function dayin(){
         return root::dayin()."sonprint子类打印内容";
         }
 }    
 
 $p = new son();
 
 echo $p->dayin();
 
原文地址:https://www.cnblogs.com/xtmp/p/3618013.html