C#中的接口和类有什么异同。
展开全部
都是引用类型.
接口实质上是功能说明书,说明有什么属性和功能(属性和方法)
接口理论上是继承者的父类,因此它可以作为实现类的引用,来封装类的复杂实现。
用接口引用 指向 new 的实例,则该引用只呈现接口中约定的属性和方法(封装)
接口可以理解为是纯抽象的类。它与类的关系好比自动洗衣机的说明书 和自动洗衣机的关系。
说明书里描述了自动加水、自动洗衣、自动脱水等功能方法,也有环保、节能、省水等特(属性)。
但是你不能用这个说明书来洗衣服吧? 你得用这些功能的实现者--洗衣机来洗衣服。
虽然是全自动洗衣机,但是它使用就很简单,1 打开盖子,放入衣服; 2 按下“开始”开关
主人完全不用关心洗衣机的内部是如何的复杂(封装)。
体现在代码上就是:
1 约定全自动洗衣机的功能,定义一个接口说明书
public Iterface IWashMac{
void 放入衣服();
void 开始洗衣();
}
public class Wasmac: IWashMac{
public void 放入衣服(){
//...
}
public void 开始洗衣(){
//...
}
}
接口实质上是功能说明书,说明有什么属性和功能(属性和方法)
接口理论上是继承者的父类,因此它可以作为实现类的引用,来封装类的复杂实现。
用接口引用 指向 new 的实例,则该引用只呈现接口中约定的属性和方法(封装)
接口可以理解为是纯抽象的类。它与类的关系好比自动洗衣机的说明书 和自动洗衣机的关系。
说明书里描述了自动加水、自动洗衣、自动脱水等功能方法,也有环保、节能、省水等特(属性)。
但是你不能用这个说明书来洗衣服吧? 你得用这些功能的实现者--洗衣机来洗衣服。
虽然是全自动洗衣机,但是它使用就很简单,1 打开盖子,放入衣服; 2 按下“开始”开关
主人完全不用关心洗衣机的内部是如何的复杂(封装)。
体现在代码上就是:
1 约定全自动洗衣机的功能,定义一个接口说明书
public Iterface IWashMac{
void 放入衣服();
void 开始洗衣();
}
public class Wasmac: IWashMac{
public void 放入衣服(){
//...
}
public void 开始洗衣(){
//...
}
}
展开全部
是继承与被继承的关系,类可以继承接口,实现接口所有的方法。接口只是定义方法的返回值什么的,而继承类则负责实现接口的方法,就这么个关系
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
类里可以包含方法,方法里可以写代码,
而接口只能包含方法名,不能写逻辑代码。
而接口只能包含方法名,不能写逻辑代码。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
接口都是虚的。只提供方法名,没有实现,通过继承来实现接口
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询