AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > PHP编程

php面向对象三大特性之一继承

51自学网 2016-09-17 http://www.wanshiok.com
继承性:
1.开放性、可扩充性
2.增加代码的重用性
3.提高软件的可重用性
4.就是用子类扩展父类
5.php属于单继承,一个类只能有一个父类但有多个子类,c++属于多继承
 
父类--基类
子类--派生类
 
一。类继承的应用
     1.声明一个子类,使用extends关键字
     2.子类可以从父类,继承所有内容
     3.类之间的层次关系
 
二。访问类型控制
     1.虽然子类可以从父类中继承所有内容,但private的成员,子类中也不能用,只能在本类中用
      2.如果想,封装时,既可以让自己的类用又可以让子类使用但不能让外部使用,把private -->protected 
  
三。子类中重载父类的方法
     1.java中函数名相同,但参数个数或类型不同
     function add(int a,int b){
          return a+b;
     }
     function add(float a,float b){
          return a+b;
     }
     function add(int a, int b,int c){
          return a+b+c;
    }
   
     2.子类可以声明和父类相同的方法名,即子类可以覆盖父类的方法
     3.子类的方法对父方法的扩展,在子类中调用父类中被覆盖的方法:
      对象->成员  类::成员
      父类名::方法名()
      parent::方法名()//在父类名字改变时在子类中不用改变
     4.在子类中编写构造方法,如果父类中也有构造方法,一定要去调用一个父类的构造方法
    注意:子类中重载的方法,不能呢个低于父类中的访问权限,只能放大权限,不能缩小权限
        如果父类中是共有的,子类中只能是共有的,如果父类中是私有的,子类中可以是私有的,共有的,保护的
class Person {     var $name;     var $age;     var $sex;               function __construct($name,$age,$sex){         $this->name=$name;         $this->age=$age;         $this->sex=$sex;      }            function say(){         echo "我的名字:{$this->name},我的年龄:{$this->age},我的性别{$this->sex}";      }      function eat(){      }      function run(){      }}class Student extends Person{       var $school;           function __construct($name,$age,$sex,$school){           parent::__construct($name,$age,$sex);//这样在父类中有的功能子类也会有           $this->school=$school;       }             function study(){            echo "{$this->name}在学习.<br>";       }       function say(){            echo "我所在的学校是:{$this->school}";       }}$s=new Student("lisi",20,"nan","hehedaxue");$s->say();$s->study();



说明
:本教程来源互联网或网友上传或出版商,仅为学习研究或媒体推广,wanshiok.com不保证资料的完整性。
 
上一篇:php面向对象oop在三大特征之一[多态性]  下一篇:PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)