PHP public、protected、private、static、abstract、final、interface、implements 区别对比

简介: PHP public、protected、private、static、abstract、final、interface、implements 区别对比

PHP中的关键字public、protected、private、static、abstract、final、interface、implements用于定义类和成员的访问权限和特性。它们的区别如下:

  • public 被定义为公有的类成员可以在任何地方被访问。
  • protected 被定义为受保护的类成员则可以被其自身以及其子类和父类访问。
  • private 被定义为私有的类成员则只能被其定义所在的类访问。
  • static
    • static 静态修饰符 : 用于修饰类的成员属性和成员方法 。
    • static 关键字: 修饰的成员方法称为静态方法,修饰的成员属性称为静态属性。
  • abstract
    • 抽象类中的成员方法没有方法体,以 (); 结束。
    • 该类不能被实例化
    • 若想使用抽象类,就必须定义一个类去继承这个抽象类,并定义覆盖父类的抽象方法(实现抽象方法)。
  • final
    • 类使用时: 如果类使用 final关键字修饰时 ,表示这个类不可以有子类,即不能被 继承
    • 成员方法使用时: 如果成员方法 使用 final 关键字修饰时,表示这个成员方法不可以在子类中被覆盖,即不能被 重写。
  • interface
    • 接口是通过 interface 关键字来定义的,就像定义一个标准的类一样,但其中定义所有的方法都是空的。
    • 接口中定义的所有方法都必须是公有,这是接口的特性。
  • implements
    • 要实现一个接口,使用 implements 操作符。
    • 类中必须实现接口中定义的所有方法,否则会报一个致命错误。
    • 类可以实现多个接口,用逗号来分隔多个接口的名称。
    • 实现多个接口时,多个接口的方法名不能重名
    • 接口也可以继承,通过extends操作符
    • 类要实现接口,必须使用和接口中所定义的方法完全一致的方式(包括方法名称、参数数量和类型等都必须一致)。否则会导致致命错误。

总结:

  • 访问权限关键字(publicprotectedprivate)用于控制成员的访问范围。
  • 静态关键字(static)用于定义静态成员,可以通过类名直接访问。
  • 抽象关键字(abstract)用于定义抽象类和抽象方法。
  • 最终关键字(final)用于定义最终类或最终方法,不能被继承或重写。
  • 接口关键字(interface)用于定义接口,规定了一组方法的规范。
  • 实现关键字(implements)用于类实现接口,实现接口中定义的方法。
目录
相关文章
|
7月前
|
Java 数据安全/隐私保护
java中public、private、protected作用范围
该内容是关于Java中访问修饰符的范围总结:`public`(全局访问)、`protected`(同包及子类访问)、默认(同包访问)、`private`(仅本类访问)。
87 6
|
7月前
|
PHP
PHP public、protected、private、static、abstract、final、interface、implements 区别对比
PHP public、protected、private、static、abstract、final、interface、implements 区别对比
93 0
|
7月前
|
Java
java-基础-Interface、abstract类、Static class 、non static class的区别
【4月更文挑战第5天】Java中的接口、抽象类、静态类和非静态类各具特色:接口仅含抽象方法和常量,用于定义行为规范;抽象类可包含抽象和非抽象方法,提供部分实现,支持多继承;静态内部类不依赖外部类实例,可独立存在,访问外部类的静态成员;非静态内部类持有关联外部类引用,能访问其所有成员。这些机制根据设计需求和场景选择使用。
56 6
JAVA中static、final、static final的区别
JAVA中static、final、static final的区别
116 0
|
Java
Java 权限修饰符(private、protected、public、默认、final、static)
Java 权限修饰符(private、protected、public、默认、final、static)
191 0
|
人工智能 Java
Java中访问权限修饰符(public , private , protected)
Java中访问权限修饰符(public , private , protected)
class CSplitterWnd :public CSplitterWnd
class CSplitterWnd :public CSplitterWnd
73 0
访问权限,public private protected
百度经验这篇文章很不错:https://jingyan.baidu.com/article/bad08e1e8e9a9b09c851219f.html
578 0