-
单例模式: 每个类只能被实例化一次。因为每实例化就会占用内存空间,这样可以节省空间 注意: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 主要解决:一个全局使用的类频繁地创建与销毁。 何时使用:当您想控制实例数目,节省系统资源的时候。 工厂模式: 意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。 主要解决:主要解决接口选择的问题。 何时使用:我们明确地计划不同条件下创建不同实例时。 如何解决:让其子类实现工厂接口,返回的也是一个抽象的产品。 关键代码:创建过程在其子类执行。查看全部
-
抽象类: PHP抽象类应用的定义: abstract class ClassName{ } 如果需要在接口中实现某方法而接口中是不能实现的,这时可以用到抽象类来实现。 抽象类中可以具体实现某方法。接口只是定义了空方法。查看全部
-
PHP抽象类应用的定义: abstract class ClassName{ } PHP抽象类应用要点: 1.定义一些方法,子类必须完全实现这个抽象中所有的方法 2.不能从抽象类创建对象,它的意义在于被扩展 3.抽象类通常具有抽象方法,方法中没有大括号查看全部
-
接口同样可以定义常量 使用const定义查看全部
-
接口的继承: interface Ia { public function eat(){ } } interface Ia { public function sleep(){ } } interface AB extends Ia,Ib //接口AB继承 接口 Ia,与接口Ib { }查看全部
-
接口可以继承查看全部
-
面向对象接口可以和类的类型约束一样也可以在函数的参数中限定该函数的参数是实现了该类的参数 public function factory(Person $user) //Person为 接口名 { }查看全部
-
在面向对象中使用interface 定义接口 使用 implements 来调取该接口。 调取该接口时该接口中的方法都需实现查看全部
-
接口中的方法是即接口中的方法是不作具体实现的查看全部
-
接口:可以理解为是类的模板,而类是接口的模板。查看全部
-
trait关键字: php是单继承语言,但是当如果一个类要使用多个类的里的方法或者属性, 这时可以使用trait关键字将原来需要继承的类改为用trait包含属性与方法, 同时使用use调用,trait也支持trait嵌套 语法格式: trait A{ 方法 属性 } trait B{ 方法 属性 } class C{ use A,B; }查看全部
-
当深拷贝对象属性时用到__clone魔术方法查看全部
-
对象的类型的约束: 当实例化一个类时如果需要传入某个特定的类时可以在前面加上该类名 如下图 调用test(A $a); 此时调用test()方法时则需test(new A())传入A对象 如类B继承了类A则test(new B())传入类B的实例也可以 即类型约束了父类则传入该子类也可以 如下: <?php class A{ public function arr(){ echo 123; } } class B extends A { public function arr2() { echo 'class B'; } } function test(A $e) { $e ->arr2(); } test(new B());查看全部
-
对象的类型约束: 当定义一个函数如果要使该函数传入的参数是某个特定的类时则此时可以在该参数前加上类名。 如下图的 (A $a) 则调用该函数时必须传入(new A())类A对象否则报错查看全部
-
__clone魔术方法 对象复制 当使用clone 关键字的时候类内就会自动执行__clone()方法 function __clone() { // 强制复制一份this->object, 否则仍然指向同一个对象 $this->object1 = clone $this->object1; }查看全部
举报
0/150
提交
取消