我是初学者。我目前正在学习OOP。根据我的理解,将实例变量设为私有意味着它只能在类中访问。因此,您需要创建set和get方法以便为子类访问它。
但是我可以直接更改它所属的类中的私有实例变量吗?然后这引出了我的问题。
答案 0 :(得分:1)
使用带有getter和/或设置的私有变量来控制如何以及可以与该变量进行交互的目的。
类中的私有变量只能在类中访问。这意味着该类之外的任何内容都无法读取或写入该变量。
通过提供公共吸气剂,您可以让所有人都能够阅读该物业。
通过提供公共制定者,您可以让一切都能够改变该属性。
您可以更改getter和setter上的访问修饰符,以控制谁可以读取或更改变量。你也可以完全省略一个getter或setter来从类外部变量只读或只写。
如果您不熟悉访问修饰符,我强烈建议您阅读它们。学习时最常见的是公共和私人。公众基本上意味着一切都可以看到,私人已经被讨论过了。
除上述所有内容外,您还可以在getter或setter中添加其他功能。例如,您可以在有人使用setter时验证输入,以确保维护某些规则。
E.X:如果你有一个类型字符串的变量,它是一个9位数的帖子。使用setter,您可以确保传入的内容是有效数字并具有特定长度。如果没有,您可以阻止值通过...通常通过抛出异常。
好处广泛,不仅限于子类。不要真正考虑对特定类或对象的好处;但是,相反,好处是让程序员更好地控制别人如何与你的班级互动。