抽象类的作用仅仅是表达接口,而不是具体的实现细节。
抽象类中可以存在抽象方法。抽象方法也是使用abstract关键字来修饰。
抽象的方法是不完全的,它只是一个方法签名而完全没有方法体。
如果一个类有了一个抽象的方法,这个类就必须声明为抽象类。
如果父类是抽象类,那么子类必须覆盖所有在父类中的抽象方法,否则子类也成为一个抽象类。
一个抽象类可以没有任何抽象方法,所有的方法都有方法体,但是整个类是抽象的。设计这样的抽象类主要是为了防止制造它的对象出来。
第6周 抽象与接口
6.1 抽象
6.2 数据与表现分离:细胞自动机6.3 接口:狐狸与兔子
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
6.1 抽象
abstract【抽象】
shape父类的形状,提供了所有子类的公共概念。无“{}”。
抽象函数/抽象类
抽象函数:表达概念而无法实现具体代码的函数
抽象类:表达概念而无法构造实体的类
abstract修饰符
实现抽象函数
两种抽象
与具体相对
与细节相对
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
6.2 数据与表现分离:细胞自动机
细胞自动机
如何浏览其他人的代码:找main,子类,父类,
数据与表现分离
程序的业务逻辑与表现无关,表现可以是图形也可以是文本,表现可以是当地的也可以是远程的
责任驱动的设计
将程序要实现的功能分配到要实现的类/对象当中去,是设计非常重要的一环。
网格化界面设计
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
6.3 接口:狐狸与兔子