开发者社区> 异步社区> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

《UML面向对象设计基础》—第1章1.10节本章小结

简介:
+关注继续查看

本节书摘来自异步社区《UML面向对象设计基础》一书中的第1章1.10节本章小结,作者【美】Meliir Page-Jones,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.10 本章小结
UML面向对象设计基础
因为“面向对象”在英语中就没有绝对优势的定义,因此,针对面向对象定义的特性从来就没有一致的意见。我本人认为以下特性对面向对象是至关重要的:封装、信息/实现隐藏、状态保持、对象标识、消息、类、继承、多态性及一般性。

面向对象的封装产生一个由表示对象状态的属性及其操作组成的软件结构(“对象”),用实现的术语讲,就是操作的方法处理保持对象状态的变量。封装确保对对象内部信息的任何修改(或访问)都必须通过对象的操作。

信息/实现隐藏是对好的封装的一种回报。好的封装使得信息对于一个对象而言是局部的,因此可以将对象内部实现的设计策略保护起来,不受外界的干扰。

状态保持特性指一个对象具有保持信息能力,包括激活操作之间的间隔。

对象标识给予每个对象一个唯一且永久的标识,它与对象的当前状态无关。对象句柄是赋予对象标识的通常机制。

发送消息的对象必须知道目标对象的句柄。消息由目标对象的操作名及操作的输入、输出参数组成。参数可以是数据或数据指针。但在纯面向对象环境中,参数仅指对象。

从相同类衍生的对象共享相同的结构和行为。类是一个设计和编程结构的模板,在运行时从模板可以实例化对象。类可以有一组类操作和类属性。

原则上每个对象有自己的一组方法实现实例操作及一组变量实现其实例属性。然而实际上为节省内存空间,相同类的对象通过共享每个实例方法的相同副本。

多个类可以形成一个超类和子类的继承层次结构(或框架)。继承允许类的对象使用其超类所具有的一切信息。必要时,类的操作可以在子类中重定义(“覆盖”)。

多态性指多个不同的类可以定义同一个操作名,并且在每个类中具有不同的实现。多态的另一个特性是允许一个属性在不同的时间表示不同类的对象。

多态性增加了一种新的实现隐藏方法使面向对象更加有效。例如,发送对象在发送消息时可以不知道具体的目标对象类。只要设计者知道所有可能访问的具有正确名字和参数操作的类,在运行环境中确定选择哪个特定操作就可以了。

重载是一个类似于多态性的概念,运行时通过检测消息的数目和/或参数的类,从操作的多个不同实现中选择一种实现。多态性和重载典型地属于动态(或运行时)绑定。

一般性允许参数化类,以类作为参数实例化一个对象。一般性使得建立“一般”容器类非常简单,这些容器类作为框架类等到运行时再增添具体内容。参数化类具有复制程序的优点,但没有复制维护开销。

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
第4章 面向对象
面向对象的方方面面(异常单独列一章)。
28 0
【面向对象设计基础】接口
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ a)使用场景:解决多重继承和Client需要多Service_Provider的支持。 b)典型UML:     c)举例:薪水计算类的设计 不同...
539 0
+关注
异步社区
异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
12049
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载