毕业设计网
开发环境 |

php类的继承和应用

//一 类的继承和应用
//(1)把类的继承看着 父类(基类-被继承的类)----子类(派生类--类的继承者)
//(2)如何继承多类:基类--被派生类继承--派生类就变成了基类--基类又被派生类继承--派生类就变成了基类.........就这样循环
//(3)继承是单一性的,点对点的继承,通过循环继承和在被继承 来实现(多继承),不能用extends同时继承多个类
//(4)继承类就是,把2个类的;类属性和类方法整和到一起,形成新的派生类(子类)
//1继承关键字 extends  (我们可以理解为共享访问被继承和继承者的2个类中的内容所用的关键字,,,,也可以说是把2个类中的方法和属性合

并在一起
/*
//二 类的方法重载和访问========================
(1)什么叫类方法重载======(2个类中自定义函数名从名,叫类的方法重载) 重载会覆盖上基类的方法,想取上基类方法内容,就要用 基类名::

类方法名称,
(2)类的方法重载用途========当派生类(子类)需要使用基类(父类)中的内容时,需要用到基类中的.类方法,并且对基类的类方法进行升级优化,

但是从新写个同样的类方法没必要 所以就通过复制产生相同名字的类方法到,派生类中,实现重载----当基类中的某类方法,功能不完善,因为

基类是无法被派生类读取的,就可以通过类的方法重载来给基类加方法,如果2个类不需要重载,就最好2个类方法不要写重名
(3)重载后如何读取基类中的内容=========基类名::类方法名称

*/

//====================例子================================

//protected  封装保护类 /表示受保护的/,只有本类或子类或父类中可以访问;
//继承关键字 extends

//--------------------------------------------------------------------------------------------------------------------------

------
//类的继承举例---------------------------------------------------------

//创建基类(父累)
class jlei {              //建立基类
 function daying(){       //建立基类的类方法(自定义函数)daying()
 return "这个是基类(父类)中的类方法  <br><br>";  //返回内容
 }
}
//创建派生类(子类)--并继承基类
class pslei extends jlei{     //建立派生类并继承基类
 function daying2(){          //派生类中的类方法(自定义函数)  daying2()
 return $this->daying()."----这个是在继承基类后的派生类(子类)中用 $ this->取到基类中类方法 <br>";
  //返回内容   因为已经继承所以 可以用$this->取到基类中类方法
 }                            //把基类继承后实际上就是 把基类中的方法或者属性 移到了本类
}

$pppccc= new pslei();          //实例化派生类
echo $pppccc->daying();        //输出继承了基类之后的派生类,,,,所以能取到直接取基类中的方法
echo $pppccc->daying2()."<br> <br>";        //输出继承了基类之后的派生类-方法daying2()


//--------------------------------------------------------------------------------------------------------------------------

------
//类的继承后类的方法重载(简称--类重载)----------------------------------------
//在被重载后的方法或属性,如果是要在派生类取基类的方法,就用jleicz::dayingcz()  如果是本类就直接用$this 这样就避免重载后出现派

生类
//和基类内容混淆

//创建基类(父类)
class jleicz {              //建立基类
 function dayingcz(){       //建立基类的类方法(自定义函数)dayingcz() 将被派生类重载
 return "这个是基类(父类)中的类方法  <br><br>";  //返回内容
 }
}
//创建派生类(子类)--并继承基类 将基类重载
class psleicz extends jleicz{     //建立派生类并继承基类
 function dayingcz(){          //创建重载----基类中的类方法(自定义函数)  dayingcz() 
 return jleicz::dayingcz()."----这个是在继承基类后并重载他的类方法形成的派生类(子类)的类方法 所以用jleicz::dayingcz()才能取基

类中类方法<br> <br>";
  //返回内容   因为已经继承并重载 只能用用jleicz::dayingcz() 基类名::基类方法  取到基类中类方法
 }
  //把基类继承后实际上就是 把基类中的方法或者属性 移到了本类  在被重载后的方法或属性,如果是要在派生类取基类的方法,就用

jleicz::dayingcz()  如果是本类就直接用$this 这样就避免重载后出现派生类
//和基类内容混淆
}

$pppccccz= new psleicz();          //实例化派生类
echo $pppccccz->dayingcz();        //输出继承了基类之后的派生类,,,,所以能取到直接取基类中的方法

//protected  锁定只能在基类与派生类之间访问  如果用protected锁定基类的 类方法,那么就只能在派生类中访问, 不能直接访问并输出 基

类中的,类方法或者属性

以上是一部分介绍,如需要完整的资料或者如不符合您的要求,请联系技术人员qq:242219979咨询

上一篇:php类中常见关键字
下一篇:php类的封装和应用


版权所有 毕业设计网联系qq:242219979 © 2007-2022