zoukankan      html  css  js  c++  java
  • PHP中面向对象的关键字

    php面向对象中常用的关键字有final、static、const

    (1)final:
    1,final不能修饰成员属性
    2,final只能修饰类和方法

    作用:
    使用final修饰的类不能被子类继承
    使用final修饰的方法不能被子类去覆盖
    用来限制类不被继承,方法不能被覆盖就使用final
    (2、)static:
    1,使用static可以修饰成员属性和成员方法,不能修饰类
    2,用static修饰的成员属性,可以被同一个类的所有对象共享
    3,静态的数据是存在内存中的数据段中(初始化静态段)
    4,静态的数据是在类每一次加载时分配到内存中的,以后再用到类时就直接从数据段中 获取
    5,只要在程序中使用到这个类(有这个类名出现)就是类被加载

    注意:静态的成员都要使用类名去访问,不用创建对象,不用对象去访问
    类名::静态成员
    如果在类中使用静态成员,可以使用self代表本类(功能相当于$this)
    self::静态成员
    6,静态方法,不能访问非静态的成员,非静态的方法中,可以访问静态成员。
    这是因为非静态的成员,就必须用对象来访问,访问内部的成员使用的就是$this,静态方法不用使用对象来调用,也就没有对象,$this也就不能代表什么对象,非静态的成员还必须使用对象。如果你确定一个方法不使用非静态的成员,则可以将这个方法声明为静态方法(不能创建对象,直接用类名来访问)
    (3、)const:
    1,它只能修饰成员属性
    2,类中声明常量属性使用const
    3,命名的方法与define是一样的效果
    4,访问方式和static静态成员属性是一样:类名::常量 self::常量
    5,常量一定要在声明时就给初值
    6,常量在声明后不能被重新赋值

  • 相关阅读:
    mybatis 绑定 statement 失败
    JDBC链接Mysql失败
    Mysql 链接数据库时区错误
    mybatis 延迟加载
    C++ 虚函数表解析
    运行错误:error while loading shared libraries: xxx.so.0:cannot open shared object file: No such file or
    QComboBox的activated与currentIndexChanged的区别
    QT 文件对话框(QFileDialog)
    VS2010 ERROR:c1xx fatal error c1083
    django 在字符串[str(list)]中精确查找
  • 原文地址:https://www.cnblogs.com/leonchen024/p/4083678.html
Copyright © 2011-2022 走看看