background image

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.在子类中编写构造方法,如果父类中也有构造方法,一定要去调用一次父类中被

覆盖的构造方法