您的位置 首页 java

C# 接口与抽象类实例分析

初学者在学习C#过程中,对面向对象概念,接口、抽象等关系往往难以准确理解。本文主要通过简单举例对接口、 抽象类 等概念进行简单说明,希望对初学者有所帮助,如有不对之处欢迎批评指正。

C# 接口与抽象类实例分析


接口interface

接口简单理解就是一种规范,是由一组函数声明组成。 它既不能直接 实例化 为对象,也不能定义数据成员。因此,接口只是方法和属性声明的集合。在接口的实现过程中需要将所声明的方法全部实现。

抽象类

类是一个具有相同特征和行为的抽象,而抽象类(class 前加上 abstract)没有指出行为的具体细节,而由他的子类去实现相应的行为。与接口相比较抽象类可以由属性、方法,其方法包括抽象方法与非抽象方法。抽象类也不能被实例化,只能通过引用子类实例化。

举例分析说明

本文以动物、猫、鸡、鱼对接口与抽象类进行说明。首先我们创建动物抽象类animal,该类具有name属性,Breathe()方法与Move()方法,其中Move()方法为抽象方法,即在子类中需要实现(重写)。anlimal抽象类描述如下:

C# 接口与抽象类实例分析

animal抽象类

定义接口类Imove,该接口声明了两个方法,分别为move()与eat(),这两个方法需要在子类中全部实现。接口的声明定义如下:

C# 接口与抽象类实例分析

定义接口类Imove

猫cat类继承了动物类animal的属性与方法,因此cat类是animal的派生类,Cat类同时可以有自身的属性与方法。Cat类定义描述如下:

C# 接口与抽象类实例分析

cat类

在Cat类中需要对其基类中所定义的抽象方法Move进行重写,注意关键词override的使用。而对非抽象方法Breathe则直接继承使用,无需重写,另外Cat添加了自身的单独方法voice用于输出猫的叫声。同样我们可以继续定义鸡 Chicken 类,派生于基类animal。定义如下:

C# 接口与抽象类实例分析

Chicken类

最后我们通过 Fish 类对接口实现及抽象类的继承进行说明,Fish类继承于animal类与接口Imove,其定义形式如下:

C# 接口与抽象类实例分析

Fish类

该类由于继承了animal与Imove因此需要对animal中的抽象方法Move进行重写,同时需要对Imove接口声明的方法进行实现。上图中实现了move方法与eat方法,通过override重写了抽象类的Move方法。最后在主函数部分对各类进行实例化及函数调用。截图如下:

C# 接口与抽象类实例分析

类的实例化及函数调用

C# 接口与抽象类实例分析

执行结果输出


以上给出了抽象类与接口的使用,通过animal、fish、cat等类的设计对两者之间在使用过程中的语法及区别进行了简单分析。通过分析最终可以获取以下结论。

C# 接口与抽象类实例分析

接口与抽象类的区别


本头条号长期关注于青少年编程资讯分享;编程课程、素材、代码分享及青少年编程培训。如果您对以上方面有兴趣或代码错误、建议与意见,可以联系作者,共同探讨。期待大家关注!

文章来源:智云一二三科技

文章标题:C# 接口与抽象类实例分析

文章地址:https://www.zhihuclub.com/196481.shtml

关于作者: 智云科技

热门文章

网站地图