c#中接口和基类的问题
(按照程序运行顺序显示代码)
程序入口
namespace duojic
{
class Program
{
static void Main(string[] args)
{
myinterface jk = new myfunction();
int a=jk.add(1, 2);
Console.WriteLine(a);
Console.ReadLine();
}
}
}
实现方法
namespace duojic
{
public class myfunction : mybaseclass, myinterface
{
public int add(int a, int b)
{
int c = 0;
c = getc(a, b);
return a + b + c;
}
public override void OnInitialize() { }
}
}
接口
namespace duojic
{
public interface myinterface
{
int add(int a, int b);
}
}
基类
namespace duojic
{
public abstract class mybaseclass
{
public mybaseclass()
{
Initialize();
}
protected string name = "123";
public void Initialize()
{
OnInitialize();
}
public abstract void OnInitialize();
public int getc(int a,int b)
{
int c = a * b;
return c;
}
}
}
1.实例化一个接口: myinterface jk = new myfunction();
2.进入add()方法。
3.c = getc(a, b); 会进入基类中调用 public int getc(int a,int b)
4.return c,然后return a+b+c;
5.输出结果为 5
- 类只能继承一个基类,但能继承多个接口。
- 如果接口和基类,应当把基类放在第一个,后面依次写接口。
- 可以在实现类中继承接口,也可以在基类中继承接口。(写这个Blog,就是因为不知道在实现类中继承和在基类中继承有什么区别。)