31.
protected
function
say(){
//父类使用 public,子类的权限不能低于父类,可以喝父类
的权限相同
32.
//Person::say();//调用父类的 say()
方法
33.
parent::say();
//调用父类 say()方法,parent 代表父类名,当父类名变化时也能够调用。
34.
echo
"我所在的学校{$this->school}<br/>"
;
//www.3ppt.com
35. }
36.
function
study(){
37.
echo
"{$this->name}在学习<br/>"
;
38. }
39. }
40.
$s
=
new
Student(
"zhangsan"
,23,
"男"
);
41.
$s
->say();
42.
$s
->study();
继承的优点:
1.面向对象的三大特性之一
2.开放性、可扩充性
3.增加代码的重用性
4.提高了软件的可维护性
5.
“
”
继承就是用子类去 扩展 父类
C++ 属于多继承,同一个类可以有多个父类
PHP 和 JAVA 属于单继承,同一个类只能有一个父类
不管是多继承或者单继承,都可以有多个子类
只要你在设计两个类时,有可以共享的成员,就将可以共享的内容单独作为一个基
类使用
一、类继承的应用
1.声明一个子类,使用 extends 关键字去继承(扩展)一个父类
2.子类可以从父类中继承所有的内容,包括成员属性方法,构造方法......,在子类
中都可以使用
二、访问类型控制
虽然子类可以从父类中继承所有内容,但私有的 private 成员,只能在本类中使用,
子类中也不能使用
封装时,既可以让自己类的内部可以访问,也让子类可以用,但类的外部不能使用,
只要将权限设置为 protected
三、子类中重载父类的方法
1.子类可以声明可以声明和父类相同的方法名,即子类覆盖了父类同名的方法
2.子类的方法对父类方法的扩展
3.在子类中调用父类中被覆盖的方法
使用 父类名::方法名() parent::方法名()
4.在子类中编写构造方法,如果父类中也有构造方法,一定要去调用一次父类中被
覆盖的构造方法