【发布时间】:2021-07-24 22:30:55
【问题描述】:
根据geeksforgeeks.org/encapsulation-in-java封装=数据隐藏+抽象?如果是,那么我可以看到数据隐藏,但这里的抽象在哪里?
有人举这个作为封装的例子
class Person
{
private String name;
private int age;
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return this.age;
}
}
有些人说这不是封装的例子。参考:https://www.youtube.com/watch?v=tjyZWqJkNpc (而且这个视频里教的人java学得真好,很难相信他会错)
那么什么是真正的封装?
- 数据隐藏+抽象
- 将变量和方法分组到一个单元中
哪个定义是正确的?
(只有在你知道否则忽略这个问题和标签时才回答,因为我是stackoverflow的新手,我不知道你如何提出问题的规则。我只是想清除我的疑虑)
【问题讨论】:
-
作为一般建议,如果您因任何原因最终访问 geeksforgeeks.org,请关闭您的浏览器选项卡。该网站只不过是空洞的 SEO,没有实际有用的内容,而且我在上面看到的 90% 的文章都有明显不正确的信息。
-
@SilvioMayolo 对吗?有时我感觉很糟糕,因为 geeksforgeeks 只是提供定义,而该站点始终位于最前面。其他一些具有非常好的信息的网站真的很糟糕。对他们来说,这只是赚钱的生意。
标签: java oop encapsulation abstraction data-hiding