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)用于类实现接口,实现接口中定义的方法。
目录
相关文章
|
算法 Java 数据安全/隐私保护
|
存储 SQL 分布式计算
|
应用服务中间件 nginx
安装nginx-rtmp-module模块与配置
安装nginx-rtmp-module模块与配置
|
算法 安全 Linux
Linux内核基础篇——神奇的系统请求键SysRq
Linux内核基础篇——神奇的系统请求键SysRq
|
Ubuntu Linux Shell
【初学推荐】ubuntu下安装交叉编译链
【初学推荐】ubuntu下安装交叉编译链
759 0
|
Java API Maven
SpringCloud Gateway - 集成 Sentinel 流量限流、熔断
SpringCloud Gateway - 集成 Sentinel 流量限流、熔断
6309 1
|
Android开发 数据安全/隐私保护
Android ROM开发(三)——精简官方ROM并且内置ROOT权限,开启Romer之路
<div class="markdown_views"> <h1 id="android-rom开发三精简官方rom并且内置root权限开启romer之路">Android ROM开发(三)——精简官方ROM并且内置ROOT权限,开启Romer之路</h1> <hr> <blockquote> <p>相信ROM的相关信息大家通过前几篇的学习都是有所了解了,这里就不在一一提
4794 0
|
机器学习/深度学习
范数的作用,L1范数与L2范数的区别与联系
范数的作用,L1范数与L2范数的区别与联系
|
数据挖掘 大数据
大数据分析师资格证书怎么考?大数据分析师资格证书好考吗?
大部分学生在大学的时候,就会努力多考证书。不同证书的含金量是不同的,那么数据分析师资格证书怎么考?数据分析师资格证书好考吗?认证大使小编带大家了解一下几个问题。
3444 0
大数据分析师资格证书怎么考?大数据分析师资格证书好考吗?
|
存储 C++
C++实现树 - 01 树的三种表示法
今天我们开始进入树的学习啦,在学习高级搜索树之前,我们先看看一些简单树的实现,先理解好概念,入门就很快了。另外,本讲将会为大家介绍双亲表示法、孩子表示法和孩子兄弟表示法的代码实现。
621 0
C++实现树 - 01 树的三种表示法

热门文章

最新文章