欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-03-16 10:40:32
...
这篇文章主要介绍了关于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