一些面向对象的设计法则(2)

来源:互联网 发布:mysql varchar 截断 编辑:程序博客网 时间:2024/05/22 15:48
<script type="text/javascript">google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//</script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

法则2:针对接口编程,而非(接口的)实现
[ Program To An Interface, Not An Implementation ]

  • 接口

    1.接口是一个对象在对其它的对象进行调用时所知道的方法集合。
    2.一个对象可以有多个接口(实际上,接口是对象所有方法的一个子集)
    3.类型是对象的一个特定的接口。
    4.不同的对象可以具有相同的类型,而且一个对象可以具有多个不同的类型。
    5.一个对象仅能通过其接口才会被其它对象所了解。
    6.某种意义上,接口是以一种非常局限的方式,将"是一种…"表达为"一种支持该接口的…"。
    7.接口是实现插件化(pluggability)的关键

  • 实现继承和接口继承

    1.实现继承(类继承):一个对象的实现是根据另一个对象的实现来定义的。
    2.接口继承(子类型化):描述了一个对象可在什么时候被用来替代另一个对象。
    3.C 的继承机制既指类继承,又指接口继承。
    4.C 通过继承纯虚类来实现接口继承。
    5.Java对接口继承具有单独的语言构造方式-Java接口。
    6.Java接口构造方式更加易于表达和实现那些专注于对象接口的设计。

  • 接口的好处

    1.优点
    a.Client不必知道其使用对象的具体所属类。
    b.一个对象可以很容易地被(实现了相同接口的)的另一个对象所替换。
    c.对象间的连接不必硬绑定(hardwire)到一个具体类的对象上,因此增加了灵活性。
    e.松散藕合(loosens coupling)。
    f.增加了重用的可能性。
    e.提高了(对象)组合的机率,因为被包含对象可以是任何实现了一个指定接口的类。
    2.缺点:
    a.设计的复杂性略有增加
    (译者注:接口表示"…像…"(LikeA)的关系,继承表示"…是…"(IsA)的关系,组合表示"…有…"(HasA)的关系。)

  • 接口实例

该方法是指其它的一些类可以进行交通工具的驾驶,而不必关心其实际上是(汽车,轮船,潜艇或是其它任何实现了IManeuverabre的对象)。

一些面向对象的设计法则:(Bob Tarr 著,outmyth 译)

法则1:优先使用(对象)组合,而非(类)继承
法则2:针对接口编程,而非(接口的)实现
法则3:开放-封闭法则(OCP)
法则4:Liskov替换法则(LSP)

原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 火花塞多少公里更换 火花塞多久换一次要多少钱 汽车火花塞多少公里更换 什么品牌的火花塞好 帕萨特火花塞多久换一次 朗逸火花塞多久换一次 火花塞坏了有什么症状 火花塞多长时间更换 火花塞热值高好还是低好 汽车火花塞坏了症状 火嘴多少公里更换一次 火化塞 为什么要更换火花塞 汽车多少公里换火花塞 新车多少公里换火花塞 电火花油 电火花切割 电火花效应 电火花制作 电火花工艺 电火花原理 电火花线切割加工 数控电火花机床 电火花多少钱一台 电火花发生器 电火花数控线切割机床 数控电火花线切割机床 电火花线切割加工原理 电火花加工的特点 武汉火花机招聘 火花机按键功能介绍图片 群基火花机 火花机牌子 火花机价格 数控火花机 重庆火花机招聘 汉霸火花机 火花机师傅 宁波火花机 电脉冲火花机价格 火花机参数