声明类属性或方法为静态,就可以不实例化类而直接访问。静态属性不能通过一个类已实例化的对象来访问(但静态方法可以)。
PHP 5 支持抽象类和抽象方法。定义为抽象的类不能被实例化
使用接口(interface),可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。
__toString() 方法用于一个类被当成字符串时应怎样回应。
当尝试以调用函数的方式调用一个对象时,__invoke() 方法会被自动调用。
class A {
public static function foo() {
static::who();
}
public static function who() {
echo __CLASS__."\n";
}
}
class B extends A {
public static function test()
{
A::foo(); 这个是用类名做的域表示,后面的两个用的是parent
self相对的表示。可见,用类名可以控制域,而用相对域是会全部后绑定的。
parent::foo();
self::foo();
}
public static function who() {
echo __CLASS__."\n";
}
}
class C extends B {
public static function who() {
echo __CLASS__."\n";
}
}
C::test();
原文地址:http://www.cnblogs.com/fupeng/p/3752906.html