感觉接口的思想挺重要的。
以电脑的USB接口为例
1.接口的出现对功能实现了扩展。
插上摄像头能视频了,插上键盘能输入了
2.接口定义了规则
不是usb口你插不进去
3.降低耦合性(解耦)
黑人问号,还不明白。(挖个坑以后来填)
接口和抽象类的区别
描述事物:鸟
// 抽象类:动物
abstract class Animal
{
public abstract void breath();
public abstract void eat();
}
// 鸟
class Bird extends Animal
{
public void breath() {}
public void eat() {}
public void fly() {}
}
飞机也能飞,但是不具有呼吸等功能,于是将“fly”抽取出来
abstract class Action
{
public void fly() {}
}
鸟需要Animal 和 Action,但是没办法直接多继承。于是定义接口。
类描述的是事物的基本功能,接口负责描述事物的拓展功能。
鸟是动物的一种,飞是鸟的拓展功能。
于是让动物定义类,飞定义接口
abstract class Animal
{
public abstract void breath();
public abstract void eat();
}
interface Fly{
public void fly();
}
class Bird extends Animal implements Fly{
public void breath() {}
public void eat() {}
public void fly() {}
}
类与类之间是继承关系 is a
类与接口之间是实现关系 like a
接口负责功能的拓展。