2016 - 2024

感恩一路有你

虚方法和抽象方法的适用场合 虚方法和抽象方法的区别是什么?

浏览量:3004 时间:2021-03-13 15:15:15 作者:admin

虚方法和抽象方法的区别是什么?

让我们先谈谈区别:

1。虚拟方法必须有实现部分,而抽象方法不能有实现部分;

2。虚方法可以在派生类中重写,也可以不重写,抽象方法必须在派生类中重写。三。虚拟方法可以在任何未密封的类中声明,而抽象方法只能在抽象类中声明。4如果类包含抽象方法,则该类也必须是抽象的,并且不能实例化。相反,虚拟方法倾向于代码重用,而抽象方法更像是约束子类实现方法的规范。例如(不一定合适,只是为了说明问题):例如,有一个基本类“动物”;有两个子类“狮子”和“青蛙”。猎狮:锁定目标,用牙齿和爪子捕捉;狮子说话:哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦被允许说话,否则它会变成植物。哈哈:所以说可以声明为一个抽象方法,基类只声明这个方法作为约束来强制实现子类。

c# 中抽象方法与虚方法的区别?

Abstract method:对应的关键字Abstract method只能在抽象类中声明,不能有方法体。方法体必须在派生类中实现。虚方法:C#,Virtual method中对应的关键字Virtual为派生类准备,以重写父类的方法。只有当它声明为虚方法时,才能在派生类中重写它。另外,虚拟方法可以有方法体

1。抽象方法可以理解为虚拟方法,并且可以重载。区别在于抽象方法必须由子类重载,而虚拟方法可以重载也可以不重载。也就是说,抽象方法是基类设计者认为必须实现的函数。例如,在设计一个人的班级时,吃饭一定要超载,因为如果你不吃饭,人会死,但有些人可能会吃米饭和一些馒头;2。在Delphi中,除了虚方法外,还有一种称为动态方法的方法。这似乎与印象中的虚拟方法相似。这只是一个先绑定或等待绑定的问题。

虚方法和抽象方法的适用场合 虚方法和抽象方法区别 虚方法和抽象方法的描述

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。