这几天正在做GDI+的一个练习程序,参考了《VC#.NET开发交互式CAD系统》这本书,书中的参考方法创建了许许多多的类和一个接口。开始我还在想接口有啥作用啊?是不是有点多此一举。然后就去网上搜索了一下接口的意义,个人感觉受益颇多,顺便把以前搜索过的内容翻出来记录总结一下。
我相信一定有很多和我一样的同学,对接口、虚方法、抽象类感觉很模糊、很生疏。这些东西用起来好像很简单,定义接口,里面包含方法,但没有方法具体实现的代码,然后在继承该接口的类里面要实现接口的所有方法的代码。
我在网上看到了一个简单易懂的例子:
首先,我们先定义一个接口:(接口的关键字interface)
public interface IBark
{
void Bark();
}
再定义一个类,继承于IBark,并且必需实现其中的Bark()方法
public class Dog:IBark
{
public Dog()
{}
public void Bark()
{
Consol.write("汪汪");
}
}
Dog的一个实例,并调用Bark()方法
Dog 旺财=new Dog();
旺财.Bark();
试想一样:
若是想调用Bark()方法,只需要在Dog()中声明这样的一个方法不就行了吗,干什么还要用接口呢?
因为接口中并没有Bark()具体实现.真的实现还是要在Dog()中.那么使用接口不是多此一举吗?
我做练习是就是这样想的,代码如下。究竟是为啥呢?
还有人是这样说的:从接口的定义方面来说,接口其实就是类和类之间的一种协定,一种约束.还拿构会叫的例子来说.所有继承了IBark接口的类中必需实现Bark()方法.那么从用户(使用类的用户)