一、构造函数
具有构造函数的类会在每次创建新对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作。如果子类中定义了构造函数则不会隐式调用其父类的构造函数。要执行父类的构造函数,需要在子类的构造函数中调用parent::__construct()。如果子类没有定义构造函数则会如同一个普通的类方法一样从父类继承(假如没有被定义为 private 的话)。
二、访问权限private父类private属性不会被子类继承。同样。父类private方法也不会被子类继承
三、对多态的理解
对象调用方法时,程序会到内存当中的代码区寻找同名方法,当存在多个同名方法时程序能够分辨调用哪一个方法。
name = $name;
}
public function call() { //多态:对象调用方法时,程序会到内存当中的代码区寻找同名方法,当存在多个同名方法时程序能够分辨调用哪一个方法。
}
}
class dog extends animal {
public function call() {
echo '小狗 名字: ' . $this->name . ' 性别:' . $this->sex;
echo '
';
}
}
class cat extends animal {
public function call() {
echo '小猫 名字: ' . $this->name. ' 性别:' . $this->sex;