• 关于PHP中Object对象的笔记


    转自:阮一峰的IT笔记

    1.

    当将所有实例设为null,php会自动清除对象的引用。

    2.

    建构子:__construct()

    清除对象时自动执行的方法:__destruct()

    也可以设置手动清除对象的方法:destroy或者clean_up

    3.

    对象中的三种变量范围:public、private和protected。

    4.

    对象中的常量属性可以使用const关键字,然后在对象外部以“对象名::属性名”的格式引用,在对象内部以“self::属性名”的格式引用。

    5.

    在整个对象所有实例中通用的属性,就是静态属性,使用static关键字。

    static与const的区别在于,const前只能使用public关键字,而static可以使用其他关键字。此外,static属性并非只读。

    6.

    在整个对象所有实例中通用的方法,就是静态方法,也使用static关键字。

    7.

    可以定义一个抽象类,用来定义界面。这种类只能被继承,而不能创造实例。在类内部,用abstract定义子类必须提供的方法。

    凡是有abstract方法的类,必须在类名前使用abstract关键字。

    abstract class Producr

    8.

    在方法前加final关键字,可以防止子类override这个方法。

    类名之前也可以加final关键字,这样就表明其他类不能继承它。

    9.

    界面interface用来定义一系列抽象类的结构。

    interface IProduct
    {
    ... ...
    }

    abstract class Product implements Iproduct
    {
    ......
    }

    10.

    == 比较两个对象是否为同样类型,以及是否有同样的值。
    === 比较两个对象是否为同一个类的实例。

    11.

    类的克隆:完全复制值。

    $a = new SomeClass();
    $b = clone $a;

    可以定义一个__clone()函数,专门对克隆行为进行定制。

    12.

    可以定义一个类的__toString()方法,对使用print和echo函数的行为进行定制。

    13.

    get_class()函数:返回一个对象的类名。

    14.

    可以在一个函数的参数前加类名,表示TypeHint。

    15.

    可以定义一个__autoload()函数,它的参数就是php找不到定义的类名。可以在这个函数中定义如何自动加载。

    知识共享许可协议
    作品Tim Zhang创作,采用知识共享署名 3.0 中国大陆许可协议进行许可。 。
  • 相关阅读:
    从一个面试题看程序员的几项基本功
    成为顶尖的AI算法工程师,你该具备些什么?
    LeetCode 图解 | 30.串联所有单词的子串
    程序猿在等电梯时都在想什么?
    以后要是再写 for 循环,我就捶自己
    一起刷题学习 Git/SQL/正则表达式
    LeetCode 图解 | 191.位 1 的个数
    如何利用寒假的时间来准备 2020 年的蓝桥杯?
    VC中调用WebBrowser
    关于SSL证书的学习与总结
  • 原文地址:https://www.cnblogs.com/ccdc/p/2092094.html
Copyright © 2020-2023  润新知