我被要求解释什么是封装,我回答说"捆绑修改这些数据的数据和函数,称为封装".
答案之后是另一个问题 - "因此,根据您的定义,如果我从类的成员函数修改全局变量,则会违反封装."
回答"是"是有道理的.
我不确定我的解释是否错误或者问题是否有效,我的回答是肯定的.
有人可以帮忙.
引用维基百科:
在编程语言中,封装用于指两个相关但不同的概念之一,有时也指它们的组合:
- 用于限制对某些对象组件的访问的语言机制。
- 一种语言结构,有助于将数据与操作该数据的方法(或其他函数)捆绑在一起
以我的拙见,后续问题的答案是主观的,它取决于对封装概念的解释。
例如,如果封装数据仅限于类的成员变量,则并不违规。不属于对象的全局变量可以被每个人访问,因此,通过成员函数访问它不存在任何封装违规。
另一方面,如果您认为封装应该应用于整个程序,那么这个全局变量应该被绑定到一个对象,因此,对它的原始访问构成了封装违规。
最重要的是,答案在于神学领域,这意味着它取决于不同的编程教条如何解释封装。