C#接口有什么具体作用问题
C#中接口不能有字段,必须在继承类中中实现,也就是在继承类中还要把接口中的属性和方法再重写一遍,那接口有什么用?...
C#中接口不能有字段,必须在继承类中中实现,也就是在继承类中还要把接口中的属性和方法再重写一遍,那接口有什么用?
展开
展开全部
接口主要作用是从“行为”角度描述一类事物的“行为特征”。例如:所有的动物都要吃饭、睡觉。这些行为可以用C#接口描述
// 用接口描述行为特征
public interface IAnimalBehavior
{
void Eat();
void Sleep();
}
// 猫是动物
public class Cat : IAnimalBehavior
{
public void Eat()
{
//猫吃老鼠
}
public void Sleep()
{
……
}
}
// 狗也是动物
public class Dog : IAnimalBehavior
{
public void Eat()
{
//狗拿耗子——多管闲事!
}
public void Sleep()
{
……
}
}
从上面代码可见,任何实现了IAnimalBehavior接口的动物类,都有吃饭和睡觉的行为。
展开全部
接口是一种约束形式,其中只包括成员定义,不包含成员实现的内容。(引自 MSDN)
接口成员包括方法、属性、索引指示器和事件。
所谓“只包含成员定义,不包含成员的实现内容”,是指只有成员的名字,至于这个成员要干嘛,那不是接口要写。
比如存在一个接口“动物”,里面有一个接口方法“吃饭”,那么就只有“吃饭”这个方法的名字,至于方法是怎么实现的,那不是接口要考虑的,而是类要考虑的。接着又来了两个类,“人”和“狗”,他俩都继承了“动物”这个接口,人和狗的吃饭方法肯定是不一样的,所以就分别实现了各自的“吃饭”方法。
如果没有接口只有类,那么“动物”这个类的“吃饭”方法该怎么写?继承它的子类吃饭的方式肯定不都一样,怎么写?
接口成员包括方法、属性、索引指示器和事件。
所谓“只包含成员定义,不包含成员的实现内容”,是指只有成员的名字,至于这个成员要干嘛,那不是接口要写。
比如存在一个接口“动物”,里面有一个接口方法“吃饭”,那么就只有“吃饭”这个方法的名字,至于方法是怎么实现的,那不是接口要考虑的,而是类要考虑的。接着又来了两个类,“人”和“狗”,他俩都继承了“动物”这个接口,人和狗的吃饭方法肯定是不一样的,所以就分别实现了各自的“吃饭”方法。
如果没有接口只有类,那么“动物”这个类的“吃饭”方法该怎么写?继承它的子类吃饭的方式肯定不都一样,怎么写?
追问
那就不要动物这个类了啊,直接把人和狗作为类,每个类里面分别写方法这样有什么缺点吗
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
限定一些行为~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询