接口和接口设计模式
接口
接口是纯抽象类
所有的成员函数都是抽象函数
所有的成员变量都是public static final
接口规定了长什么样,但是不管里面有什么
接口,在Java中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。
一个类通过继承接口的方式,从而来继承接口的抽象方法。
接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含要实现的方法。
除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。
接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。
另外,在java中 ,接口类型可用来声明一个变量,它们可以成为一个空指针,或是被绑定在一个以此接口实现的对象。
接口设计模式
实现接口
类用extends,接口用implements
类可以实现很多接口
接口可以继承接口,但不能继承类
接口不能实现接口
面向接口的编程方式
设计程序时先定义接口,再实现类
任何需要在函数间传入传出的一定是借口而不是具体的类
是Java成功的关键之一,因为极适合多人同时写一个大程序
也是Java被批评的要点之一,因为代码量膨胀起来很快
Cell和Field的关系
Cell在Field中,但是Cell的很多操作需要Field的数据
方法一:让每个Cell有一个Field的管理者(Cell知道Field)
方法二:由外部第三方来建立两者之间的联系(Cell不知道Field)