PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

PHP的类修饰符与访问修饰符

不言
不言 原创
2023-04-02 17:54:02 1991浏览

这篇文章主要介绍了关于PHP的类修饰符与访问修饰符,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

类修饰符

  • 1.abstract修饰的类为抽象类,如果一个类中含有抽象方法那么这个类就是抽象类(当然一个类中没有抽象方法,我们也可以定义这个类为抽象类),那么什么是抽象方法呢,抽象方法就是没有方法体的方法(没有大括号和里面的内容),抽象方法前面也加上abstract修饰。抽象类本身不能被实例化,只有一个类继承了它,并覆盖了它所有的抽象方法,这样我们可以实例化它的子类

abstract class My{
    abstract function say();
}
//
abstract class My{
     function say(){
        echo 'hello';
    }
}

  • 2.interface修饰的类为接口,接口与抽象类有点类似,不过他们的区别是,接口所有的方法都是抽象方法,接口的抽象方法前面没有abstract修饰,成员属性必须为常量。接口引用区别于类继承关键字 extends ,继承只能只是单一性,而接口可以使用关键字 implements 多个引用并用逗号分开。

interface demo { 
const NAME = "常量对象属性"; 
function fun1(); 
function fun2(); //抽象方法。 
} 
class MyPc extends Root implements demo , demo2 , demo3 { 
... 
}
  • 3.final修饰的类为终结类,它不能被继承。

访问修饰符

  • 1.public 公共的方法和属性,能在所有的类中使用


  • 2.static 静态的方法和变量

如果访问控制权限允许,可不必创建该类对象而直接使用类名加两个冒号“::”调用,static的属性,在内存中只有一份,为所有的实例共用, 静态方法不能调用非静态属性 。不能使用self::调用非静态属性。

function test(){
static $a=1;
$a*=2;
echo $a."\n";
}
test()
test()
test()
//打印结果
//2
//4
//8

静态变量的初始化赋值只有一次,后面的test方法不会再初始化。

  • 3.private 修饰的方法和变量是私有的,只能在本类中调用(在其他的类中实例化本类,是无法调用private修饰的方法和变量)


  • 4.proteced 受保护的方法和变量,只能在本类和本类的子类中使用


  • 5.final 修饰的方法不能被覆盖。

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

PHP快速生成现代化form表单的方法

php实现共享内存进程通信函数(_shm)

以上就是PHP的类修饰符与访问修饰符的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。