一、抽象
抽象函数——表达概念而无法实现具体代码的函数
抽象类——表达概念而无法构造出实体的类
带有abstract修饰符的函数,有抽象函数的类一定是抽象类。抽象类不能制造对象,但是可以定义变量,任何继承了抽象类的非抽象类的对象可以付给这个变量。
实现抽象函数:继承自抽象类的子类必须覆盖父类中的抽象函数,否则自己成为抽象类
两种抽象:与具体相对,表达一种概念而非实体。与细节相对,表示在一定程度上忽略细节而着眼大局。
二、数据与表现分离:细胞自动机
1.细胞自动机
2.数据与表现分离
程序的业务逻辑与表现无关,表现可以是图形的也可以是文本的,表现可以是当地的也可以是远程的
网格化:图形界面本身有更高的解析度,但是将画面网格化以后,数据就更容易处理了
三、接口:狐狸与兔子
1.狐狸与兔子
2.接口
接口是纯抽象类:所有的成员函数都是抽象函数,所有的成员变量都是 public static final
接口规定了长什么样,但不管里面有什么
3.接口设计模式
实现接口:类用extends,接口用implements。类可以实现很多接口。接口可以继承接口,但不能实现类。接口不能实现接口。
面向接口的编程方式:设计程序时先定义接口,在实现类。任何需要在函数间传入传出的一定是接口,而不是具体的类