我读过其他讨论抽象和封装的帖子,但我不确定我是否理解它们;或者也许我理解他们,但对他们内容的清晰性感到不满意。以下是我对抽象和封装的理解。它们在哪些方面准确/不准确/完整/不完整?
“抽象是程序员创建的数据类型,用于在原始数据类型不足时扩展语言。与原始数据类型一样,抽象具有列出它们所需的输入和返回的输出的规范,但规范并没有让程序员不知所措。函数和用于对输入进行操作的变量。类是抽象的一个例子。API 是抽象的另一个例子。
“封装是抽象数据类型(即类)彼此隔离的状态,因此它们的方法、函数和变量不会相互冲突,因此程序员可以轻松地在其他程序中重用现有的类,而不必担心这样做所以会干扰程序的其余部分(假设程序员正确地提供了所需的输入并正确处理了获得返回的数据)。”