面向对象--继承和多态
//子类可以继承父类的一切. //特点:单继承 class Ren { public $name; public $sex; public $language; function Say() { echo $this->name."正在讲话"; } } //美国人的子类 class America extends Ren//继承自Ren { public $ziben;//相对独特的东西另分父类 public $eyes; function Say()//重写,输出将代替父类中的Say函数 { echo "hello"; } } //中国人的子类 class China extends Ren { public $shehui; public $wumai; echo"你好"; } $a=new America(); var_dump($a); //重写,子类对父类的方法,子类中在写一个父类中一样的方法 class China extends Ren { function Say() { parent::Say();//调用父类的Say方法,追加不是覆盖 echo "你好"; } } $a=new China(); var_dump($a); //多态 //发生条件:1.必须要继承 2.子类 要对父类的方法进行重写 3.父类引用指向子类实例 //概念:当父类的引用指向子类实例的时候,由于子类对父类方法进行了重写,父类引用在调用时表现出来的不同就是多态 Ren r=new China(); r->Say();//输出"你好" Ren r=new America(); r->Say();//输出"hello" 同一个r调用同一个Say()表现出不同的结果,