继承的好处
1.开放性、可扩展性
2.增加代码的重用性
3.提高了软件的可维护性
继承的使用:
1.继承就是用子类去扩展父类 ,声明一个子类,使用extends关键字去继承父类
c++属于多继承,同一个类可以有多个父类
php和java属于单继承,同一个类只能有一个父类
不管是单继承和多继承,都可以有多个子类
2.只要在设计两个类时,有可以共享的方法时,就可以提取出来作为基类
3.子类可以从父类继承所以内容,包含成员属性,成员方法,构造方法。。。,在子类可以直接使用。但是private私有方法和属性只能在本类使用,子类也不能使用,如果想使用父类的方法有不想让外部使用可以使用protected修饰成员
4.子类可以声明和父类相同的方法名,既子类覆盖父类的方法
5.在子类中调用父类被覆盖的方法使用
父类名::方法名
parent:方法名
6.子类中重载方法,不能低于父类中访问权限
<?php
header('content-type:text/html;charset=utf-8');
class Person{
private $name;
private $sex;
public $age;
//传统的构造方法 php4
function Person($name="",$sex="",$age=""){
$this->name= $name;
$this->sex= $sex;
$this->age= $age;
}
//构造方法魔术方法 php5
function __construct($name,$sex,$age){
$this->name= $name;
$this->sex= $sex;
$this->age= $age;
}
function say(){
echo "我的名字:$this->name ,我的年纪:$this->age,我的性别:$this->sex 。<br>";
$this->run();
}
private function run(){
}
}
class Person2 extends Person{
//覆盖父类的方法
function say(){
parent::say();//用来调用父类被覆盖的方法
echo "大家都说我很聪明<br>";
}
}
$person = new Person("张三","男","30");
$person2 = new Person2("张三","男","30");
echo $person2->say();