6.1 抽象
- 抽象类
public abstract class ___{}
:表达概念而无法构造出实体的类。 - 类里的函数也是抽象的:表达概念而无法实现具体代码的函数。
- 抽象类不能制造对象。
- 可以定义变量。
- 继承自抽象类的子类必须覆盖父类中的抽象函数,否则自己成为抽象类。
- 两种抽象
- 与具体相对,表示一种概念而非实体(上面内容)。
- 与细节相对,表示在一定程度上忽略细节而着眼大局。
6.2 数据与表现分离
- 程序的业务逻辑与表现无关
- 表现可以是分本的也可以是图形的
- 表现可以是当地的也可以是远程的
- 责任驱动的设计
- 将程序要实现的功能分配到合适的类/对象中去设计是非常重要的一环
- 图形网格化处理
6.3 接口:狐狸与兔子
- 接口是纯抽象类
public interface Cell{}
public class Fox extends Animal implements Cell{}
Fox是Animal的子类,同时实现了Cell- 所有成员函数都是抽象函数
- 所有成员变量都是public static final
- 接口规定了长什么样,但是不管里面有什么
interface
是特殊的class- 实现接口
- 类用extends,接口用implements
- 类可以实现很多接口
- 接口可以继承接口,但不能继承类
- 接口不能实现接口