Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

php 面向对象访问控制 public,private,protected详解

作者:__Man︶ㄣ   发布日期:2024-07-20   浏览:1017

在PHP中,面向对象编程的访问控制是通过使用关键字public、private和protected来实现的。

  1. public:公共访问控制。使用public关键字修饰的成员(属性和方法)可以在任何地方被访问,无论是在类内部还是类外部。

示例:

class MyClass {
    public $publicProperty;

    public function publicMethod() {
        // 公共方法的实现
    }
}

$obj = new MyClass();
$obj->publicProperty = 'Public Property'; // 可以直接访问公共属性
$obj->publicMethod(); // 可以直接调用公共方法
  1. private:私有访问控制。使用private关键字修饰的成员只能在类的内部被访问,无法在类的外部进行访问。

示例:

class MyClass {
    private $privateProperty;

    private function privateMethod() {
        // 私有方法的实现
    }

    public function accessPrivate() {
        $this->privateProperty = 'Private Property'; // 可以在类内部访问私有属性
        $this->privateMethod(); // 可以在类内部调用私有方法
    }
}

$obj = new MyClass();
$obj->accessPrivate(); // 可以通过公共方法访问私有成员
  1. protected:受保护的访问控制。使用protected关键字修饰的成员只能在类的内部和子类中被访问,无法在类的外部进行访问。

示例:

class MyClass {
    protected $protectedProperty;

    protected function protectedMethod() {
        // 受保护方法的实现
    }
}

class MySubClass extends MyClass {
    public function accessProtected() {
        $this->protectedProperty = 'Protected Property'; // 可以在子类中访问受保护属性
        $this->protectedMethod(); // 可以在子类中调用受保护方法
    }
}

$obj = new MySubClass();
$obj->accessProtected(); // 可以通过子类访问受保护成员

总结:

  • public成员可以在类的内部和外部被访问。
  • private成员只能在类的内部被访问。
  • protected成员可以在类的内部和子类中被访问。

上一篇:PHP面向对象概念与实例

下一篇:php spl_autoload_register与__autoload方法详解

大家都在看

php session用法

php 定义常量

phpisset函数

php后端

php爬虫框架

php读取csv文件

php 三元表达式

php文件加密

php 拆分字符串

php pcntl

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站