`
XiAoOMAn07
  • 浏览: 74832 次
  • 性别: Icon_minigender_1
  • 来自: 温州
社区版块
存档分类
最新评论

基类和接口

阅读更多
接口在java编程中有极大的作用,对团队来说,更是不可或缺的部分。
接口中的方法往往是“哑”方法,即,在接口中,只有方法的声明,没有方法的具体实现。

接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。
复用代码的其中一种形式是 客户端程序员遵循该接口来编写他们自己的类。
关键字的使用以及语法:


Java中的多重继承

interface CanFight{
void fight();
}
interface CanSwim{
void swim();
}
interface CanFly{
void fly();
}
class ActionCharacter{
public void fight{}
}
class Hero extends ActionCharacter implements CanFight,CanSwim,CanFly{
public void swim(){}
public void fly(){}
}


CanFight 接口与ActionCharacter类中的fight()方法的特征签名是一样的,而且,在Hero中并没有提供fight()的定义。可以扩展接口,但是得到的只是另一个接口。当想创建对象时,所有的定义首先必须都存在。及时Hero没有显式的提供fight()的定义,其定义也因ActionCharacter而随之而来,这样就使得创建Hero对象成为了可能。
(例子摘自 P179)


“确定接口是理想选择,因而应该总是选择接口而不是具体的类”。
对于创建类,几乎在任何时刻,都可以替代为创建一个接口和一个工厂(工厂在p187)。
任何抽象性都应该是应真正的需求而产生的。当需要时,你应该重构接口而不是导出添加额外级别的间接性,并由此带来的额外的复杂性。
最恰当的原则是选择类而不是选择接口。从类开始,如果接口的必须行变得非常明确,那么就进行重构。接口是一种重要的工具,但是最好不要滥用。


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics