C#程序设计知识点6-接口interface

接口的概念

接口interface在语法上类似于抽象类(abstract class),它定义了若干抽象方法、属性、索引器、事件,形成一个抽象成员的集合,每个成员通常反映事物某方面的功能。接口在本质上是对某方面功能或特征的约定。
在程序中使用接口的一个重要作用是,可以帮助实现类似于类的多重继承的功能。(C#不支持多重继承,即一个子类不可以有一个或一个以上的直接父类。)

我们可以把接口理解为“形容词/副词”,类是“名词”,方法是“动词”。

比如,
class:飞机、鸟、超人
interface:会飞的
这三类属于不同的“东西”,但他们都有一个共同特点是“会飞”,如果直接将“飞”这个动作写进class中,我们就要写三次。然而,又不能让他们继承一个叫“会飞的东西”的类,因为他们的不同点才是占多数的,这么做是因小失大。
因此,我们构建一个接口(interface),叫做“会飞的”,他们三个都可以接入这个“形容词”,从而避免了代码冗余。

程序中接口的用处主要体现在以下几个方面:

  • 通过接口可以实现不相关类的相同行为,而不需要考虑他们的层次关系。
  • 通过接口可以知名多个类需要实现的方法。
  • 通过接口可以了解对象的交互界面,而不需要了解对象所对应的类。

接口的定义

格式:
修饰符 interface 接口名{…}

  • 子接口将继承所有父接口中的属性和方法。也可以利用new来隐藏父接口中的成员。
  • 多个接口,用逗号隔开。父类放在第一位。
  • 抽象类实现接口时,也要求为所有成员提供实现程序,抽象类可以把接口方法映射到抽象方法中。
interface IRunnable
{
	void run();
}
interface ISwimmable
{
	void swim();
}
abstract class Animal
{
	abstract public void eat();
}
public class Person : Animal, IRunnable, ISwimmable
{
	public void run() 
	{
		Console.WriteLine("run");
	}
	public void swim() 
	{
		Console.WriteLine("swim");
	}
	public override void eat() 
	{
		Console.WriteLine("eat");
	}
	public void study() 
	{
		Console.WriteLine("study");
	}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值