C#中的抽象方法和虚方法有什么区别?
C#中的抽象方法和虚方法在功能上有什么区别呢,是不是能用虚方法代替抽象方法或者用抽象方法代替虚方法,抽象方法和虚方法都可以重写和覆盖吗?重写和覆盖有什么区别?分别有什么作...
C#中的抽象方法和虚方法在功能上有什么区别呢,是不是能用虚方法代替抽象方法或者用抽象方法代替虚方法,抽象方法和虚方法都可以重写和覆盖吗?重写和覆盖有什么区别?分别有什么作用?
展开
7个回答
展开全部
抽象方法就是纯虚方法:只有定义,没有实现。
private virtual foo() = 0;
有抽象方法的类就是抽象类。
抽象类不能用来定义对象,必须要作为其他类的基类,并在派生类中重载抽象方法。
private virtual foo() = 0;
有抽象方法的类就是抽象类。
抽象类不能用来定义对象,必须要作为其他类的基类,并在派生类中重载抽象方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我来也。C#父类子类继承多态虚方法抽象方法class
父类
{
虚方法
}
class
子类
:父类
{
可重载虚方法
}多态,如:1:静态多态,重载,方法参数类型或个数不同,方法名相同。如:public
void
F(int
a){}
和
public
void
F(){}
//这两个方法构成重载2:动态多态,虚拟如:class
A{public
virtual
F(){}
}
class
B
:
A
{public
ovverride
F()
{}
//重写父类方法}abstract
抽象类
{abstract
抽象方法}
//抽象方法不能有实现,如:abstract
void
F();
//声明一个函数
F
父类
{
虚方法
}
class
子类
:父类
{
可重载虚方法
}多态,如:1:静态多态,重载,方法参数类型或个数不同,方法名相同。如:public
void
F(int
a){}
和
public
void
F(){}
//这两个方法构成重载2:动态多态,虚拟如:class
A{public
virtual
F(){}
}
class
B
:
A
{public
ovverride
F()
{}
//重写父类方法}abstract
抽象类
{abstract
抽象方法}
//抽象方法不能有实现,如:abstract
void
F();
//声明一个函数
F
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
FantasyChump - 总监 八级 正解!顶一个。
其实java当中的方法都是虚方法,所以在java中重写方法的时候不用override.
============================
我也来顶一个,回答简单明了。
其实java当中的方法都是虚方法,所以在java中重写方法的时候不用override.
============================
我也来顶一个,回答简单明了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
FantasyChump - 总监 八级 正解!顶一个。
其实java当中的方法都是虚方法,所以在java中重写方法的时候不用override.
其实java当中的方法都是虚方法,所以在java中重写方法的时候不用override.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询