您的位置:首页 > 编程语言 > Java开发

JAVA与模式-接口和抽象类

2011-02-22 11:21 120 查看
一接口

1.接口是实现可插入性的保证

2.实现一个接口的具体类往往是没有具体关联的,有的只是因为他们有同样的责任,对外可以提供同样的服务,具有接口中一组行为。

如:swing中的监听器,只要你实现接口,你就可以监听具有发出此功能的控件。一个类只要实现Runnable接口,此类就具有线程的功能,具有线程的服务。

3.类型的声明

java中局域变量,方法参数,方法的返回,数据类型的转换应该声明为抽象类或接口。

更好的是声明为接口。

具体类中应该是实现接口或者抽象类中声明过得方法,而不应该给出多余的方法.

4.接口是对客户的承诺,承诺已断作出,就不能改变.

二抽象类

1.抽象类是用来继承的,具体类不是的.应该尽可能不要从具体类继承.

2.在一个类形成的继承等级结构中,树叶节点应该是具体类,树枝节点应该是抽象类

3.抽象类中应该集中更多的代码。

4.数据应该集中到具体类中,数据是否使用,都会占据内存的.

5.什么时候应该使用继承 (满足里氏替换原则)

a.是is-a关系,而不是has-a关系

比如:苹果 is-a 水果 人 has-a 学生角色 或 司机角色 或 IBM角色

is-a关系用继承,has-a关系用聚合

b.只有在商业逻辑中处于相同的概率,才可以继承。不要从工具类继承.

c.不可能将一个类得子类替换为另外一个类得子类

d.子类具有扩展超类的责任,而不是替换(override)或者撤销超类得责任.

6.应该使用java接口声明超类的类型。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐