抽象类
抽象类就是用来当父类使用的。
成员只要有一个abstract(不确定实现何种功能的方法等等),就是抽象类。
重写抽象方法时,需要加上override。
接口
理解接口是用来做什么的。接口是用来规范类的,规范类必须具备哪些格式和具有哪些功能,也就是属性和方法。同时抽象多个具有共同行为的类,使本来不同的类由于具有相似的性质,行成一个抽象。方便某个方法对这一类对象的统一处理。
接口的成员 只能是属性和方法 。
接口成员必须是public的。
接口与单元测试
代码中有可以替换的地方就一定有接口的存在。接口是为了解耦而生。
可以让功能的提供方能替换,防止单一依赖造成的高风险。
实例化类时,以接口的约束,这样,使用所有继承过该接口的类都能随意替换。
项目开发中,如果不熟练,可以先写功能代码,然后抽离相对应的部分,写成接口,一步步解耦。
接口隔离
不同功能拆分成小接口。
这里的ITank接口有两个重复的功能,需要裁开。
写两个接口,然后ITank继承这俩接口,实现功能的分离。
接口转换
当做父类使用