Abstract抽象方法和Virtual虚方法的区别

# 一、抽象方法:只在抽象类中定义,方法修饰符不能使用private,virtual,static.
总结:(1)抽象方法只能声明在抽象类中,使用关键字abstract
(2)抽象类中的抽象方法必须被子类重写。
【抽象方法没有方法体,子类必须重写方法体,因此抽象方法可以看成是一个没有方法体的虚方法】
父类中的虚方法被派生类重写了。
注意事项:virtual修饰符不能与private、static、abstract、override修饰符同时使用。
ps:override修饰符不能与new 、static、virtual修饰符同时使用,并且重写方法只能用于重写基类中的虚方法。
虚函数的限制:
虚函数仅适用于有继承关系的类对象,所以只有类的成员函数才能说明为虚函数;
静态成员函数、内联函数、构造函数不能是虚函数;
析构函数可以是虚函数。
三、两者区别:
总结:抽象方法是只有方法名称,没有方法体(也就是没有方法具体实现),子类必须重写父类抽象方法;
虚函数是该方法有方法体,但是子类可以覆盖,也可不覆盖。
(1)虚方法有方法体,抽象方法没有方法体。抽象方法是一种强制派生类覆盖的方法,否则派生类将不能被实例化;
(2)抽象方法只能在抽象类中声明,虚方法不是;
(3)派生类必须重写抽象类中的抽象方法,虚方法则不必要。

unity理解抽象方法和虚方法相关推荐

  1. 抽象方法vs虚方法 c# 1613719040

    抽象方法vs虚方法 c# 1613719040

  2. 抽象方法与虚方法的区别

    一.抽象方法:只在抽象类中定义,方法修饰符不能使用private,virtual,static. 总结:(1)抽象方法只能声明在抽象类中,使用关键字abstract (2)抽象类中的抽象方法必须被子类 ...

  3. C#中抽象方法和虚方法的区别

    前言:在前面很详细的讲解过抽象方法和虚方法,下来我们来探探究竟,它俩到底区别在哪里? 直通车: C#抽象方法.C#虚方法 目录: 一.两者的区别 二.两者使用场景 一.两者的区别 区别类型 抽象方法 ...

  4. java虚方法和抽象方法_虚方法和抽象方法--基础回顾

    抽象方法是只有定义.没有实际方法体的函数,它只能在抽象函数中出现,并且在子类中必须重写:虚方法则有自己的函数体,已经提供了函数实现,但是允许在子类中重写或覆盖. 重写的子类虚函数就是被覆盖了. 抽象方 ...

  5. 抽象方法和虚方法的区别 [C#]

    1.(abstract)抽象方法和(virtualt)虚方法的区别在于:虚方法有一个实现部分可以被子类继承,从而使子类获得和基类相同的方法,另外也为派生类提供了覆盖该方法的选项.相反,抽象方法没有提供 ...

  6. C#类和接口、虚方法和抽象方法及值类型和引用类型的区别

    1.C#类和接口的区别 接口是负责功能的定义,项目中通过接口来规范类,操作类以及抽象类的概念! 而类是负责功能的具体实现! 在类中也有抽象类的定义,抽象类与接口的区别在于: 抽象类是一个不完全的类,类 ...

  7. 三十二、C#中的虚方法、抽象类和抽象方法(里氏替换原则)

    1.虚方法 [Employee] namespace demo16 {public enum Gender{男, 女}public class Employee{public Employee() { ...

  8. C#~虚方法,虚方法和抽象方法的区别

    虚方法 特点: <1>虚方法必须使用virtual修饰 <2>虚方法同抽象方法(adstract)一样使用override关键字重写 <3>虚方法在子类中可以实现, ...

  9. C#多态性的小记,父类,子类,虚方法,接口

    一.父类,子类的继承和虚方法重写 class Program{static void Main(string[] args){Person objperson= new Person ();//实例p ...

最新文章

  1. java 多线程变量可见性_Java多线程:易变变量,事前关联和内存一致性
  2. 【C语言】用C语言输出一个吃豆人
  3. k-d tree算法原理及实现
  4. 笨办法学 Python · 续 第四部分:进阶项目
  5. 智能网联车初现规模 360 Sky-Go团队“把脉”安全风口
  6. win10mongodb链接_Windows 10 安装 Mongodb
  7. OC反射机制获得该类全部属性并创建数据表
  8. mysql中php生成唯一ID
  9. matlab灰色关联分析,灰色关联度分析(为什么不显示图像)大佬们帮我看看
  10. qml实现雪花飘落,快来给你的暑假降降温吧
  11. MFC windows程序设计(第三版)课后习题第一章
  12. ios12完美深色模式插件_让所有网站开启深色模式,试试这个浏览器插件
  13. 测试用例设计方法——等价类划分法
  14. Hadoop之——重新格式化HDFS的方案
  15. 一个博士的悲情经历~失败的经验最美···小木虫上的系列精华帖(科研的、被科研的,共勉。转载,个人整理)
  16. 气象接口返回图标_国家气象局提供的天气预报接口及使用说明
  17. java reference详解_你不可不知的Java引用类型之——Reference源码解析
  18. 什么是虚拟机管理程序hypervisor,什么是hypervisor type 1, hypervisor type 2
  19. html中的ol 和li,html中ol标签与li标签的高级应用
  20. iOS15上最受欢迎的功能,居然是“我想静静”?

热门文章

  1. 实验1 线性回归 实操项目1——糖尿病情预测
  2. jQuery 兄弟元素选择器
  3. 解释二叉树深度和高度
  4. MBA管理精粹70则
  5. openstack资源统计监控系列之ceilometer+gnocchi获取cpu、memory项目实战及实现源码(三)
  6. switch课堂练习
  7. 链表的三种插入方法(头插法,尾插法,任意位置插入)
  8. 抖音一个老人和一个机器人歌曲_《抖音》多年以后有个可爱老头歌曲介绍
  9. PlantUML的安装
  10. GoogleTest从入门到入门,小白都能看懂的gtest详细教程