你的位置:首页 > 软件开发 > ASP.net > 抽象类和接口的区别、使用和选择

抽象类和接口的区别、使用和选择

发布时间:2016-04-03 00:00:03
不谈抽象类可以有实现等语法糖的问题,本文主要讲在语义层面抽象类和接口的本质区别、以及使用以及选择。 一、介绍抽象类,首先是个类,类是对现实世界中对象的建模模型,抽象类是对类整体的抽象描述,包含方法,以及属性。接口是对类某特性行为的抽象。对抽象类的继承才是Is-A的关系,对接口 ...

不谈抽象类可以有实现等语法糖的问题,本文主要讲在语义层面抽象类和接口的本质区别、以及使用以及选择。

 一、介绍

抽象类,首先是个类,类是对现实世界中对象的建模模型,抽象类是对类整体的抽象描述,包含方法,以及属性。接口是对类某特性行为的抽象。

对抽象类的继承才是Is-A的关系,对接口的实现,则是“有没有”的关系。比如鸟和飞机都有飞行这个特性,这个时候可以把飞行这个特性设计为接口:IFly。然后再让Airplane和Bird实现IFly这个接口,这样Airplane和Bird则拥有了飞行这个属性。

接下来飞机可能有多种,鸟也有多种,他们飞行的方法完全不同,这样就可以把Airplan和Bird设计成抽象类,让不同的飞机和鸟进行继承。

类图:

抽象类和接口的区别、使用和选择

代码:

public abstract class AbstractAirplane : IFly{  public void Fly()  {    this.PrepareToFly();    this.Step1();    this.Step2();  }  private void PrepareToFly()  {  }  protected abstract void Step1();  protected abstract void Step2();}

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:抽象类和接口的区别、使用和选择

关键词:接口

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。