C#—接口、多态

接口:

  • 定义:interface关键字,接口中可以有属性、方法
  • 接口的名称通常以“I”开头,如IFly、IList
  • 如果一个类即继承了类又实现了接口,那么类必须写在接口前面。一个类只能继承一个父类,但可以实现多个接口。

接口语法:

  • 完全抽象的一种约定
  • 接口就是用来实现的
  • 接口只有方法、属性、索引和事件的声明
[访问修饰符] interface 接口名
{
	//接口成员定义
}
interface IfFly
{
	void Ifly();
}

接口和类有什么异同

相同点

  • 接口、类和结构都可以从多个接口继承
  • 接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员
  • 接口和类都可以包含事件、索引器、方法、属性

不同点

  • 不能直接实例化接口
  • 接口不包含方法的实现
  • 接口可以多继承,类只能单继承
  • 类定义可在不同的源文件之间进行拆分

 类之间不支持多重继承,接口之间支持。类对接口叫实现,不叫继承。

抽象类和接口区别

相同点

  • 都不能被直接实例化,都可以通过继承实现其抽象方法

不同点

  • 接口支持多继承,抽象类不能实现多继承。
  • 接口只能定义行为,抽象类既可以定义行为,还可以提供实现。
  • 抽象类可以定义字段、属性、包含有实现的方法
  • 接口可以作用于值类型(Struct)和引用类型(Class),抽象类只能作用于引用类型。

建立多态几种方式

  • 用父类实现多态
  • 用抽象类实现多态
  • 用接口实现多态

 保留基类方法使用new关键字、重写方法时使用override关键字。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值