作者:丽sd园印章 | 来源:互联网 | 2013-07-22 14:08
abstract用于修饰类和方法,不可以修饰成员变量,抽象内中的方法只能通过继承使用,而且抽象方法必须在内中得以实现。抽象内中的成员变量只能在抽象内中或者继承类中使用
|
成员变量
|
成员方法
|
继承
|
类内
|
类外
|
类内
|
类外
|
变量
|
方法
|
Public
|
$this
|
类名—>变量
|
$this
|
类名—>方法
|
$this
|
Parent(self|类名)::方法
|
Private
|
$this
|
NO
|
$this
|
NO
|
NO
|
NO
|
Protected
|
$this
|
NO
|
$this
|
NO
|
$this
|
Parent(self|类名)::方法
|
Abstract
|
NO
|
NO
|
$this
|
NO
|
$this
|
Parent::方法
|
Final
|
$this
|
类名—>变量
|
$this
|
类名—>方法
|
$this
|
Parent(self|类名)::方法
|
Const
|
Self\类名::常量
|
类名::常量
|
$this
|
类名::方法
|
类名::常量\parent::常量\self::常量
|
类名::方法
|
Static
|
Self\类名::$变量
|
类名::$变量
|
Self
|
类名::方法
|
parent::$变量\ self::$变量\类名::$变量
|
与变量一致
|
(NO:代表不支持或者不允许 ‘\’代表或者)
注释 :
①static和const修饰符在类内也可以使用外部调用方法。
②abstract用于修饰类和方法,不可以修饰成员变量,抽象内中的方法只能通过继承使用,而且抽象方法必须在内中得以实现。抽象内中的成员变量只能在抽象内中或者继承类中使用。
③final只是为了防止类变量和方法被重写
④继承获得的属性和方法在类外部(即实例化后)访问与基类一致
⑤类常量的访问::后面无$符号,而静态变量::后面有$
⑥继承我们这里说明了继承之后再子类中如何使用,而在子类外部则与正常的累实例化后一
致,并且前提是成员变量和成员方法不被重写,成员变量被重写之后就不存在了,二方法则可以通过parent::方法名继续调用
⑦某种程度上说类常量和静态变量在属性和方法上访问基本相同,当然const不可以修饰方法
⑧在静态的成员方法中不能使用$this,从而说明在静态的成员方法中只能使用静态的成员变量,方法,和类常量 使某个类的不同对象共享数据和数据操作
⑨方法的重写(隐藏),重写之后调用的是子类中的,未重写调用的是父类中的,子类中调用父类的方法parent::method(),调用类中的$this->method()