详谈PHP中public,private,protected,abstract等关键字的用法
PHP中常用的关键字 在PHP中包含了很多对函数和类进行限制的关键字,常用的通常有abstract,final,interface,public,protected,private,static等等,下面我们就将对这些进行分析整理各个的用法。 变量与方法的关键字public,private,protected public的权限最大,既可以让子类使用,也可以支持实例化之后的调用, protected表示的是受保护的,访问的权限是只有在子类和本类中才可以被访问到 private 表示的是私有,只能够是在当前的类中可以被访问到 <?php // /** * Define MyClass */ c 在PHP编程语言中,类和对象的访问控制和特性修饰主要通过几个关键字来实现,包括`public`、`private`、`protected`、`abstract`和`static`。这些关键字对于理解和创建面向对象的PHP代码至关重要。 1. `public`关键字: `public`是访问控制级别中最宽松的。当一个属性(变量)或方法被声明为`public`时,它可以在任何地方被访问,无论是类内部还是外部,包括其子类中。在上面的示例中,`public $public`变量和`public function printHello()`方法可以被类的实例 `$obj` 直接访问。 2. `private`关键字: `private`关键字用于限制访问权限仅限于定义它的类内部。这意味着`private`变量或方法无法在类的外部或子类中被调用。尝试访问`private`成员会导致致命错误。在例子中,`private $private`变量和`protected function pro_test()`方法都不能在类外部或子类中直接访问。 3. `protected`关键字: `protected`介于`public`和`private`之间,它允许子类访问父类中的`protected`成员。因此,`protected $protected`变量只能在`MyClass`类及其子类中被访问。试图在类的外部或非子类中访问`protected`成员同样会引发错误。 4. `abstract`关键字: `abstract`用于声明抽象类和抽象方法。一个类如果含有至少一个`abstract`方法,则该类必须被声明为`abstract`。抽象方法没有具体实现,必须由子类覆盖。抽象类不能被实例化,只能作为其他类的基类。在PHP中,如果一个类包含抽象方法,那么该类也必须声明为抽象的。 5. `static`关键字: `static`用于声明静态变量和静态方法。静态变量在类的生命周期中保持其值,不会因对象的创建和销毁而改变。静态方法不需要通过对象实例来调用,可以直接通过类名来调用。这有助于节省内存,避免不必要的对象创建,特别是当只需要共享数据或执行与实例无关的操作时。在示例中,`static`修饰的`$var`变量在多次调用`test()`函数时保留其值,而不是每次都初始化为1。 此外,`final`关键字用于防止类被继承或方法被覆盖。如果一个类被声明为`final`,则不能有子类;如果一个方法被声明为`final`,则子类不能重写这个方法。这有助于锁定类的设计,防止意外修改。 在面向对象编程中,正确使用这些关键字可以帮助你设计出更安全、更可维护的代码结构。理解并熟练运用它们,将使你在PHP开发中更加得心应手。


























- 粉丝: 1
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 单片机最小系统设计方案制作-单片机最小系统原理电路图-单片机最小系统组成包括什么-.doc
- 图书馆开展网络舆情分析服务工作初探.docx
- 互联网+下初中语文阅读教学策略.docx
- bird-identification-system-毕业设计资源
- 城市道路监控解决方案(网络).doc
- IDC网络技术实施方案.doc
- 浙大远程教育软件工程基础离线作业参考答案.doc
- 5年内-人工智能肿瘤诊疗水准或超人类.docx
- 电气控制与plc应用演示文稿.ppt
- 软件和信息技术服务业发展现状及对策研究.docx
- 《photoshop平面设计方案与应用》授课计划.doc
- 计算集体智能:理论与应用进展
- 机电设备安装工程项目管理研究.docx
- 大数据视阈下的化学有效性课堂教学模式新探①.docx
- Java程序设计-15-访问数据库.ppt
- 国家级大创 ESP32智慧药房取药系统-大创资源


