之前一直没有写过blog,都在在四处奔波寻找需要的自己想要的学习资料。蓦然回首想想这一路下来的艰辛里程:遇到问题满世界找答案(却没有自己想要的),开发环境弄蹦却无从下手时候,为弄清楚面相对象编程一两天都没有吃饭的时候。从对php一无所知,到知道一点皮毛。在这里我简要的整理了下之前有关于面相对象基础的学习笔记,供才入行的朋友们参考学习。如有不足之处望批评指正!!!
一,魔术方法
1.__construct()构造函数,只要实例化对象就会调用这方法
2.__destruct()析构函数。只要对象在销毁的一瞬间自动调用
3.__get()在给不可访问属性赋值时调用
4.__set()读取不可访问属性的值时条用
5.__call()当对象访问不存在的方法名称时,这个方法会被自动调用
6.__callstatic()当对象访问不存在的静态方法名称时,这个方法会被自动调用
7.__isset()当对不可访问属性条用isset()或者empty()时。调用__isset()
8.__unset()当对不可访问属性调用unset()时,调用__unset();
9.__tostriong()当对象被当做字符串的时候调用这方法
10.__involve()当对象被当做方法的时候调用
二,类的继承
1.单继承:一个子类只会存在一个父类,反之一个父类允许被多个子类继承
2.访问限制:子类不能直接访问父类的私有属性和方法。(private)
3.方法和属性从定义:子类定义父类同名的方法和属性是对父类的覆盖。
3.调用父类方法和属性:parent::方法(属性)访问父类中被覆盖的东西
4.最终的类和方法:final 最终类和方法,不能被继承
三,静态类
1.static用于声明静态方法和属性的关键字,在类的内部调用self::方法(属性);外部使用classname::方法(属性);在静态方法中只能操作静态属性;
四,接口interface
1.接口里面的方法不需要有方法实现
2.inmlements关键字用于表示实现某个接口
3.实现了某个接口之后,必须提供接口中定义的方法的具体实现
4.不能实例化接口
5.可以用instanceof关键字来判断某个对象是否实现了某个接口var_dump($obj instanceof ICanEat)
6.接口可以继承接口。
五,抽象abstract class a
抽象方法是作为子类摸版使用的
抽象类不能被实力话,一个抽象类中,必须有一个抽象方法。但是抽象类中可以定义动态函数