什么是公共的,私有的,在面向对象编程中受到保护?
什么是公共的,私有的,在面向对象编程中受到保护?
他们是访问修饰符,并帮助我们实现封装 (或信息隐藏)。 他们告诉编译器哪些其他类应该有权访问正在定义的字段或方法。
private
– 只有当前课程才能访问该字段或方法。
protected
– 只有当前的类和子类(有时也是相同的包类)才能访问该字段或方法。
public
– 任何类都可以引用该字段或调用该方法。
这假定这些关键字被用作类定义中的字段或方法声明的一部分。
所有这三个都是在一个类中使用的访问修饰符和关键字。 公开声明的任何东西都可以被类内或类外的任何对象使用,私有variables只能被类内的对象使用,不能通过直接访问来改变(因为它可以通过像朋友函数这样的函数来进行改变)任何在受保护的部分定义的东西都可以被类和它们的派生类使用。
它们并不是真正的概念,而是在C ++和Java等stream行语言中倾向于发生的(具有稍微不同的语义)的特定关键字。
实质上,它们是为了允许一个类限制对成员(字段或函数)的访问。 这个想法是,允许以另一种types访问的types越less,就可以创build越less的依赖关系。 这允许访问的对象更容易地被改变而不影响引用它的对象。
广义而言,公共意味着每个人都被允许访问,私人意味着只有同一类别的成员被允许访问,并且被保护意味着允许子类的成员。 但是,每种语言都为此添加了自己的东西。 例如,C ++允许您非公开地inheritance。 在Java中,还有一个默认(包)访问级别,并且有关于内部类的规则等等。
公共项目是可从任何其他类访问的项目。 你只需要知道它是什么对象,你可以使用点运算符来访问它。 受保护意味着一个类及其子类可以访问variables,但不能访问任何其他类,因此需要使用getter / setter对variables进行任何操作。 私有意味着只有那个类可以直接访问这个variables,其他的一切都需要一个方法/函数来访问或者修改这些数据。 希望这可以帮助。
总而言之,在面向对象编程中,所有东西都被build模成类和对象。 类包含属性和方法。 公共,私有和受保护关键字用于指定从其他类或其他应用程序或其他应用程序访问这些成员(属性和方法)的类。