黑马程序员技术交流社区
标题:
abstract 和virtual的去别??
[打印本页]
作者:
程艳伟
时间:
2012-7-9 15:17
标题:
abstract 和virtual的去别??
abstract 和virtual的去别??:)
作者:
许庭洲
时间:
2012-7-9 15:27
1,virtual 关键字用于修饰方法、属性、索引器或事件声明,并且允许在派生类中重写这些对象。例如,此方法可被任何继承它的类重写;
2,abstract 修饰符可以和类、方法、属性、索引器及事件一起使用。在类声明中使用 abstract 修饰符以指示某个类只能是其他类的基类;
3,虚函数(Virtual)已经包含了也必须包含默认的实现,所以在派生类中可以重新实现也可以不实现这些虚函数;
4,抽象函数(abstract)没有提供默认实现,所以在派生类中必须实现这些抽象函数。
作者:
程艳伟
时间:
2012-7-9 15:40
哦,对了,以前学的忘记了,谢谢
作者:
刘玺
时间:
2012-7-9 16:27
1.abstract方法只能在抽象类中声明,虚方法则不是。
abstract方法必须在派生类中重写,而virtual则不必。
2.abstract方法不能声明方法实体,
abstract public void SD();
虚方法则可以
public virtual void sdf()
{
Console.WriteLine("A");
}
3.虚方法可以实现多态,而抽象方法不可以。
作者:
许楠
时间:
2012-7-9 16:57
virtual 关键字用于在基类中修饰方法。abstract关键字只能用在抽象类中修饰方法,并且没有具体的实现。
作者:
魏振龙
时间:
2012-7-9 19:00
abstract声明抽象类、抽象方法
1.抽象方法所在类必须为抽象类
2.抽象类不能直接实例化,必须由其派生类实现。
3.抽象方法不包含方法主体,必须由派生类以override方式实现此方法,这点跟interface中的方法类似
virtual标记方法为虚方法
1.可在派生类中以override覆盖此方法
2.不覆盖也可由对象调用
3.无此标记的方法(也无其他标记),重写时需用new隐藏原方法
abstract 与virtual 方法重写时都使用 override
作者:
朱灿
时间:
2012-7-9 19:04
Virtual方法
virtual 关键字用于在基类中修饰方法。virtual的使用会有两种情况
1:在基类中定义了virtual方法,但在派生类中没有重写该虚方法。那么在对派生类实例的调用中,该虚方法使用的是基类定义的方法
2:在基类中定义了virtual方法,然后在派生类中使用override重写该方法。那么在对派生类实例的调用中,该虚方法使用的是派生重写的方法
Abstract方法
abstract关键字只能用在抽象类中修饰方法,并且没有具体的实现。抽象方法的实现必须在派生类中使用override关键字来实现
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2