面向过程与面向对象代码实例对比

面向过程式代码(使用数据结构的代码)便于在不改动既有数据结构的前提下添加新函数。
面向对象代码便于在不改动既有函数前提下添加新类。

过程式代码难以添加数据结构,因为必须修改所有函数。面向对象代码难以添加新函数,因为必须修改所有类。

这两种定义的本质,他们是截然对立的,这说明了对象与数据结构之间的二分原理。

面向过程式代码范例:

Geometry类操作三个形状类。形状类都是简单的数据结构,没有任何行为,所有行为都在Geometry类中。

面向对象代码范例:

area方法是多态的。不需要有Geometry类,所以,如果添加一个新形状,现有的函数一个也不会受到影响,而当添加新函数时所有的形状都得做修改!

 

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注