What are public, private and protected in object oriented programming?
面向对象编程中什么是公共的、私有的和受保护的?
它们是访问修饰符,帮助我们实现封装(或信息隐藏)。它们告诉编译器其他哪些类应该可以访问被定义的字段或方法。
这假定这些关键字用作类定义中字段或方法声明的一部分。
这三个都是类中使用的访问修饰符和关键字。公共声明的任何内容都可以由类内或类外的任何对象使用,私有变量只能由类内的对象使用,不能通过直接访问进行更改(因为它可以通过友元函数等函数进行更改)。受保护节下定义的任何内容都可以由类及其激烈的阶级
它们不是真正的概念,而是特定的关键字,它们往往出现在流行语言(如C++和Java)中(语义略有不同)。
本质上,它们是为了允许类限制对成员(字段或函数)的访问。其思想是允许一个类型在另一个类型中访问的次数越少,可以创建的依赖关系就越少。这允许更容易地更改访问的对象,而不影响引用它的对象。
广义地说,公共意味着每个人都可以访问,私有意味着只有同一类的成员才可以访问,受保护意味着子类的成员也可以访问。然而,每种语言都添加了自己的东西。例如,C++允许您继承非公开的内容。在爪哇,也有默认(包)访问级别,并且有关于内部类等的规则。
公共项是可以从任何其他类访问的项。你只需要知道它是什么对象,你可以使用点运算符来访问它。受保护意味着类及其子类可以访问变量,但不能访问任何其他类,它们需要使用getter/setter来处理变量。private意味着只有该类可以直接访问变量,其他的一切都需要一个方法/函数来访问或更改该数据。希望这有帮助。
总而言之,在面向对象编程中,所有东西都被建模为类和对象。类包含属性和方法。public、private和protected关键字用于指定从其他类或其他.dlls甚至其他应用程序访问类的这些成员(属性和方法)。