PHP面向对象知识总结

1.abstract 抽象
只要有一个抽象的方法这个类就要定义为抽象类,抽象类只能被继承不能被实例化,抽象类中定义的抽象方法在子类中要再定义一次。
在一个良好设计的体系中,每个根类都应该有一个有用的接口,可以被应用代码所使用.而抽象类就可以提供多个实用的接口.
抽象方法只是声明,方法中没有任何代码,以分号结束:如abstract function bb(){};


2.interface和implements,interface,implements
interface是用来定义一个接口,用implements来代替extends来说明你的类定义或使用一个接口.


3.final
final定义的方法或类是最终的,定义类时类不可以被继承,定义方法时方法不可以在子类中重写。标识为final的类,不能被继承,
而且其中的方法都默认为final类型。

4.static关键字
static表示静态的类或方法,当类中所有的元素都是用static来定义时,这个类就是静态类。静态类的调用是:类名::方法名()或变量名;
静态。类的静态方法能访问类的静态的属性。另外说明的是,static的成员,必须使用self来访问,使用this会出错。
静态方法与变量可以被继承。静态类的构造函数并不在在调用这个静态类的时候执行,不像其他的实例化。

5.private
私有化的方法和变量,不可以被继承,也不可以被外部类调用。这样就可以保护一些敏感信息


6.类的__autoload()
定义这个方法的时候,传入一个类名后。只要程序中用到类的不用再加载或include类文件,直接实例化或调用,这个方法就会自动去加载所需要的类了。
function __autoload($class_name)
{
 include $class_name.".php";
}
 
$c = new a();
$d = new b();
c::dd();

原文地址:https://www.cnblogs.com/myblog1314/p/2705646.html