Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oop 将变量定义为“受保护”的用例?_Oop - Fatal编程技术网

Oop 将变量定义为“受保护”的用例?

Oop 将变量定义为“受保护”的用例?,oop,Oop,我理解,当想要使变量在扩展当前类的所有类中可见时,应该使用protected,但这到底意味着什么?最常见的用例是什么 我想另一种解决问题的方法是,当您希望类变量从类的子类可见,而不是从外部类可见时,关键情况是什么。受保护的变量有助于有效地访问基类的变量,而无需通过get/set约束 受保护变量的有用性在开发libs时非常重要,libs应该用于其他应用。它可以帮助您在lib环境中自由使用变量,而无需公开它们,并且当您完成继承的类时,它们将被禁止进入外部环境。我遇到的“受保护”访问修饰符的大多数用例

我理解,当想要使变量在扩展当前类的所有类中可见时,应该使用
protected
,但这到底意味着什么?最常见的用例是什么


我想另一种解决问题的方法是,当您希望类变量从类的子类可见,而不是从外部类可见时,关键情况是什么。

受保护的变量有助于有效地访问基类的变量,而无需通过get/set约束


受保护变量的有用性在开发libs时非常重要,libs应该用于其他应用。它可以帮助您在lib环境中自由使用变量,而无需公开它们,并且当您完成继承的类时,它们将被禁止进入外部环境。

我遇到的“受保护”访问修饰符的大多数用例都是

在这个模式中,算法的细节被委托给子类

实际上,受保护的访问在类不变量中创建了一个漏洞:子类可能会滥用成员,从而使不变量不再有效

大多数时候,有比受保护访问更好的设计方案,这是第一个想到的


我的建议?不要将对象的内部内容发布给任何您不信任的人。小心使用“受保护的”

另一方面,protected in java还将变量公开给同一个包中的所有类,这大大减少了它的保护。@Niko-谢谢你的指针,但答案并没有给出用例。