相关疑难解决方法(0)

对象和数据结构之间的区别是什么?

我一直在读" 清洁代码:敏捷软件工艺手册 "一书,在第六章第95-98页中,它阐明了对象和数据结构之间的区别:

  • 对象将其数据隐藏在抽象之后,并公开对该数据进行操作的函数.数据结构公开其数据并且没有有意义的功能.

  • 对象公开行为并隐藏数据.这使得在不改变现有行为的情况下添加新类型的对象变得容易.它还使得很难向现有对象添加新行为.

  • 数据结构公开数据并且没有重要行为.这使得向现有数据结构添加新行为变得容易,但却难以向现有函数添加新数据结构.

对于某些类是对象还是数据结构,我有点困惑.比如java.util中的HashMaps,它们是对象吗?(因为它的方法如put(),get(),我们不知道它们的内部工作原理)还是数据结构?(我一直认为它是数据结构,因为它是一个Map).

字符串也是数据结构或对象吗?

到目前为止,我编写的大多数代码都是所谓的"混合类",它们也试图充当对象和数据结构.关于如何避免它们的任何提示?

java language-agnostic oop object data-structures

39
推荐指数
2
解决办法
2万
查看次数

标签 统计

data-structures ×1

java ×1

language-agnostic ×1

object ×1

oop ×1