构造函数和析构函数

构造函数:

构造方法又称为构造函数,是对象被创建时自动调用的方法,用来完成类初始化的工作。构造函数和其它函数一样,可以传递参数,可以设定参数默认值。构造函数可以调用属性,可以调用方法。构造函数可以被其它方法显式调用。

析构函数:

当某个对象成为垃圾或者当对象被显式销毁时执行。和构造函数相对立的函数,但不完全相反的函数。__destruct() 析构函数,是在垃圾对象被回收时执行。析构函数也可以被显式调用,但不要这样去做。析构函数是由系统自动调用的,不要在程序中调用一个对象的虚构函数。析构函数不能带有参数。

在 PHP 中,没有任何变量指向这个对象时,这个对象就成为垃圾。 PHP 会将其在内存中销毁。 这是 PHP 的 GC(Garbage Collector)垃圾处理机制,防止内存溢出。 当一个 PHP 线程结束时,当前占用的所有内存空间都会被销毁,当前程序中的所有对象同样被销毁。

面向对象的得特征,三大特征:封装、继承、多态。

封装:封装就是把对象的属性和行为结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节 。优点就是信息隐蔽,封装即隐藏。

要求使对象以外的部分不能随意存取对象的内部数据(属性),从而有效的避免了外部错误对它的“交叉感染”,使软件错误能够局部化,大大减少查错和排错的难度。

使用封装的目的:隐藏一个类的实现细节; 防止对封装数据的未经授权的访问。使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作; 有利于保证数据的完整性; 便于修改,增强代码的可维护性;

继承:继承是面向对象最重要的特点之一,就是可以实现对类的复用。 通过“继承”一个现有的类,可以使用已经定义的类中的方法和属性。 继承而产生的类叫做子类。 被继承的类,叫做父类,也被成为超类。PHP 是单继承的,一个类只可以继承一个父类,但一个父类却可以被多个子类所继承。 从子类的角度看,它继承自父类;而从父类的角度看,它派生子类。它们指的都是同一个动作,只是角度不同而已。 子类不能继承父类的私有属性和私有方法。 在 PHP5 中类的方法可以被继承,类的构造函数也能被继承。

原文地址:https://www.cnblogs.com/Peng2XiaoYan/p/7192445.html