“公共功能”中的“公共”是什么意思?[访问修饰符]

您好!我是系统开发部的Masui!
这次,我想介绍一下`public function`中的`public`关键字及其相关函数。
谢谢大家的关注!
第一的
首先,“public function”中的“public”访问修饰符被称为
访问修饰符决定了属性(类中定义的变量)或方法(类中定义的函数)从任何类调用是否只能从特定类调用。
什么是类?……
“类”这个词在本博客中经常出现,但我在这里指的是面向对象的类,它是一组属性和方法的组合。
访问修饰符类型
访问修饰符 公共、 私有和 受保护 分为三种类型
了解它们的日语翻译有助于记忆,因为名称和功能是对应的。
以下将解释这三种类型。
民众
// 公共属性定义 public $variable // 公共方法定义 public function method() { // 处理 }
有些人可能只是在属性中添加了“public”,却并不真正了解原因。(几年前我就是这样……)
“ public” 在日语中的意思类似于“开放的”或“公开的”,定义为“public”的属性和方法从任何类中调用可以
因此,任何我想从另一个类调用的东西都被定义为公共的。
此外,没有访问修饰符的方法 在 PHP 中会被视为
但是,如果您没有为属性指定访问修饰符,需要注意的是,
// 公共方法定义函数 method() { // 处理 }
受保护
// 定义受保护属性 protected $variable // 定义受保护方法 protected function method() { // 处理 }
最后一个词“保护”在日语中的意思类似于“保护”或“防止”,而在这里,“ 受保护的” 。的意思类似于“受到保护的”或“被防止的”
`protected` 关键字与面向对象编程中的继承概念相关。
在面向对象编程中,继承的类称为父类,被继承的类称为子类。`protected` 似乎意味着保护或维护父子关系中的某些内容。🤔
,使用 `protected` 定义的类不能被其他类调用。但是,一个例外是只有当存在继承时その,才能在继承关系中调用方法。
我认为,当你想要多个类拥有相同的属性或方法时,就需要使用继承;而那些你只想在这种关系中调用的东西,则被定义为受保护的。
私人的
// 私有属性定义 private $variable // 私有方法定义 private function method() { // 处理 }
一词 private” 日语中的的意思类似于“私人的”或“机密的”。
与“public”不同,定义为“private”的属性和方法 不能从其他类调用,只能从包含它们的类中调用。
与前面提到的 `protected` 不同,此访问修饰符没有任何例外(如果类继承了它,则可以调用它),并且它完全限制了属性和方法的访问权限,使其仅限于定义它的类内部。
因此,你只想在某个类中使用,而不想从其他类调用的属性和方法,通常会被定义为私有的。
概括
以上解释了什么是访问修饰符。
简而言之,`public` 表示方法可以从任何地方调用,`protected` 表示方法只能从继承自它的类中调用,而 `private` 表示方法只能从定义它的类内部调用。
下表总结了每种访问修饰符。
| 民众 | 受保护 | 私人的 | |
| 可以从定义它的类中调用。 | ○ | ○ | ○ |
| 可从继承的子类访问 | ○ | ○ | ✕ |
| 可以从完全不同的类中访问。 | ○ | ✕ | ✕ |
解释过程中提到的“protected”引入了继承的概念,这可能让事情变得稍微复杂了一些,但
我计划之后专门写一篇关于继承的文章,希望你们也能阅读!
感谢你们读到这里🙇♂️
最后
我推出了“SEKARAKU Lab”,这是我所属系统开发公司的服务网站。Beyond
提供从服务器设计、搭建到运维的一站式服务,如果您在服务器端开发方面遇到任何问题,请随时与我们联系。
● SEKARAKU 实验室:https://sekarakulab.beyondjapan.com
8
