首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在面向对象编程中,什么是公有、私有和受保护的?

在面向对象编程中,什么是公有、私有和受保护的?
EN

Stack Overflow用户
提问于 2009-06-20 02:08:31
回答 5查看 253.9K关注 0票数 105

在面向对象编程中,什么是公有、私有和受保护的?

EN

回答 5

Stack Overflow用户

发布于 2009-06-20 02:11:31

它们并不是真正的概念,而是在C++和Java等流行语言中经常出现(语义略有不同)的特定关键字。

本质上,它们意味着允许类限制对成员(字段或函数)的访问。这个想法是,一种类型在另一种类型中被允许访问的越少,可以创建的依赖就越少。这允许更容易地更改被访问的对象,而不会影响引用它的对象。

广义地讲,公有意味着每个人都可以访问,私有意味着只允许同一类的成员访问,而保护意味着也允许子类的成员访问。然而,每种语言都为此添加了自己的东西。例如,C++允许您非公开地继承。在Java中,还有一个默认的(包)访问级别,还有关于内部类等的规则。

票数 11
EN

Stack Overflow用户

发布于 2011-04-11 19:53:45

这三个都是类中使用的访问修饰符和关键字。在公共中声明的任何东西都可以被类内或类外的任何对象使用,私有中的变量只能由类内的对象使用,并且不能通过直接访问来更改(因为它可以通过像friend函数这样的函数进行更改)在protected部分下定义的.Anything可以由类及其刚刚派生的类使用。

票数 8
EN

Stack Overflow用户

发布于 2009-06-20 02:10:58

公共项是可以从任何其他类访问的项。你只需要知道它是什么对象,你就可以使用点运算符来访问它。Protected意味着一个类和它的子类可以访问变量,但不能访问任何其他类,它们需要使用getter/setter来对变量执行任何操作。私有意味着只有那个类可以直接访问变量,其他所有东西都需要一个方法/函数来访问或更改该数据。希望这能有所帮助。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1020749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档