ZJU-java进阶笔记 第六周(抽象与接口)

  1. abstract
    (1) 抽象类不可以用来制造对象,但可以用来定义变量,当然将来付给这个变量的一定是这个抽象类的非抽象子类的对象
    (2) 抽象类的非抽象子类必须覆盖父类中的抽象函数,这种覆盖叫做实现
  2. 两种抽象
    (1) 与具体相对
    表达一种概念而非实体
    (2) 与细节相对
    表达忽略细节而抓大体
  3. 数据与表现分离,术业有专攻
    表现知道数据,数据不知道表现
  4. 责任驱动的设计:整个程序的功能究竟应该分摊到哪个类上实现
  5. 一个抽象类可以没有任何抽象方法
    若一个抽象类①所有方法都是抽象的(不需要声明)②所有成员变量都是public static final
    (static意思是属于整个类而非任何对象,final意思是不会被改变,综合起来即常量)
    则为纯抽象类,即接口
public interface Cell{
    
    
    void draw(Graphics g,int x,int y,int size);
}
  1. 不能多继承改成继承+实现
public class Fox extends Animal implenments Cell{
    
    }
  1. interface (i小写)和Class地位一样,所有可以出现Class的地方都可以用interface取代

  2. 类可以实现很多接口(多实现)
    接口可以继承接口,但不能继承类
    接口不能实现接口

  3. 面向接口的编程方式
    (1) 设计程序时先定义接口,再实现类
    (2) 在函数间传入传出的是接口而非具体的类
    优点:Java取得成功的关键之一,因极适合多人同时写一个大程序
    缺点:代码量膨胀起来很快

猜你喜欢

转载自blog.csdn.net/weixin_44997802/article/details/108558340