写个简单的例子
Interface Ifly
{
void fly();
}
class Person:Ifly
{
public viod fly()
{
Console.WriteLine("Person can fly!!!");
}
}
class Animal:Ifly
{
public viod fly()
{
Console.WriteLine("Animal can fly!!!");
}
}
上面这段代码比这段代码的优势在哪?
class Person
{
public viod fly()
{
Console.WriteLine("Person can fly!!!");
}
}
class Animal
{
public viod fly()
{
Console.WriteLine("Animal can fly!!!");
}
}
把接口声明内容和类后面的:接口 部分去掉不就是这段代码么。
比如都实例化一个人和动物
Person p=new Person();
Animal a=new Animal();
当我们使用p.fly();和a.fly();时候,只不过前者认为p和a都是实现了Ifly接口中的fly(),而后者直接认为调用的是不同类中的fly()函数。
网上说使用接口可以让大型项目开发变得简单。还是那上面人和动物会飞这个例子。写人这个类的程序员只需把人这个类的相关东西写完,然后留一个会飞的接口。具体这个会飞的接口是怎么写的,是另一个人负责的。可是明显不是这样的啊。写人这个类的程序员不是必须要把接口的每个成员都实现么?相反,那个写会飞这个接口的程序员可真是闲的不行!这不科学啊!!!!! |