C#中 virtual 和 abstract 区别
2017-07-23 11:04
477 查看
1、这两个都是用来修饰类和方法的
2、都不能用private修饰
3、virtual 虚拟 abstract 抽象
4、virtual修饰的方法必须有主体
而且子类可以不去实现这个方法
如果子类不重写这个虚函数 在子类里调用这个方法调用的是父类里的
5、abstract修饰的方法不能有主体
子类必须重写这个方法
抽象方法必须包含在抽象类里
虚函数的应用:
A a=new B(); //A是父类,B 是子类
a.fuc();
if(B里 重写了A里 的虚函数 )
{
a.fuc()里调用的就是B里的fuc();
}
else
{
a.fuc()里调用的就是A里的fuc();
}
抽象函数的应用:
因为子类必须重写抽象函数 ,而且父类抽象函数不能有主体
A a=new B();
所以 a.fuc() 只能调用的是B里的函数
更新中 未完成。。。
2、都不能用private修饰
3、virtual 虚拟 abstract 抽象
4、virtual修饰的方法必须有主体
而且子类可以不去实现这个方法
如果子类不重写这个虚函数 在子类里调用这个方法调用的是父类里的
5、abstract修饰的方法不能有主体
子类必须重写这个方法
抽象方法必须包含在抽象类里
虚函数的应用:
A a=new B(); //A是父类,B 是子类
a.fuc();
if(B里 重写了A里 的虚函数 )
{
a.fuc()里调用的就是B里的fuc();
}
else
{
a.fuc()里调用的就是A里的fuc();
}
抽象函数的应用:
因为子类必须重写抽象函数 ,而且父类抽象函数不能有主体
A a=new B();
所以 a.fuc() 只能调用的是B里的函数
更新中 未完成。。。
相关文章推荐
- C++、C#中 abstract 与 virtual关键字的区别联系
- C#关键字—virtual 、 abstract、interface 的区别
- C#中Abstract和Virtual的区别
- C#中的virtual和abstract区别
- 【C#】override,Abstract,Virtual 介绍及区别
- virtual和abstract的区别(C#)
- virtual和abstract的区别(C#)
- C#中virtual与abstract的区别
- C#中virtual和abstract的区别
- C#中virtual 方法和abstract方法的区别
- 黑马程序员—C#中abstract与virtual的区别
- C#中virtual 方法和abstract方法的区别
- 【转】C#中virtual和abstract的区别
- C#中virtual与abstract的区别
- C#中virtual和abstract的区别
- c#中abstract与virtual的区别
- C#的static,interface,virtual,abstract,override的区别用法
- C#多态;父类引用指向子类对象;new和override的区别;new、abstract、virtual、override,sealed关键字区别和使用代码示例;c#类的初始化顺序
- C#中 virtual 和 abstract 的区别
- C#中virtual和abstract的区别