在面向对象编程中,什么是公有、私有和受保护的?
发布于 2009-06-20 02:11:31
它们并不是真正的概念,而是在C++和Java等流行语言中经常出现(语义略有不同)的特定关键字。
本质上,它们意味着允许类限制对成员(字段或函数)的访问。这个想法是,一种类型在另一种类型中被允许访问的越少,可以创建的依赖就越少。这允许更容易地更改被访问的对象,而不会影响引用它的对象。
广义地讲,公有意味着每个人都可以访问,私有意味着只允许同一类的成员访问,而保护意味着也允许子类的成员访问。然而,每种语言都为此添加了自己的东西。例如,C++允许您非公开地继承。在Java中,还有一个默认的(包)访问级别,还有关于内部类等的规则。
发布于 2011-04-11 19:53:45
这三个都是类中使用的访问修饰符和关键字。在公共中声明的任何东西都可以被类内或类外的任何对象使用,私有中的变量只能由类内的对象使用,并且不能通过直接访问来更改(因为它可以通过像friend函数这样的函数进行更改)在protected部分下定义的.Anything可以由类及其刚刚派生的类使用。
发布于 2009-06-20 02:10:58
公共项是可以从任何其他类访问的项。你只需要知道它是什么对象,你就可以使用点运算符来访问它。Protected意味着一个类和它的子类可以访问变量,但不能访问任何其他类,它们需要使用getter/setter来对变量执行任何操作。私有意味着只有那个类可以直接访问变量,其他所有东西都需要一个方法/函数来访问或更改该数据。希望这能有所帮助。
https://stackoverflow.com/questions/1020749
复制相似问题