首页 > 其他分享 ><八>理解抽象类

<八>理解抽象类

时间:2022-11-28 14:11:09浏览次数:35  
标签:定义 基类 理解 纯虚 派生类 抽象类 函数

抽象类和普通类有什么区别? 抽象类一般不用作抽象实体类型
一般把上面类设计为抽象类? 基类

定义抽象类的唯一目的, 就是去建立派生类. 我们在抽象类基础上要定义出功能各异的派生类, 再用这些派生类去建立对象.
凡是包含纯虚函数的类都是抽象类. 纯虚函数不用实现, 故不能被调用, 抽象类无法建立对象. 抽象类的作用是作为一个类簇的共同基类, 即为一个类簇提供一个公共接口.

许多好的面向对象的系统, 其层次结构的顶部是一个抽象类, 甚至顶部有好几层都是抽象类. 如果在抽象类所派生出的新类中对基类的所有纯虚数进行了定义.
那么这些函数就被赋予了具体的功能, 可以被调用. 这个派生类就不是抽象类, 而是可以用来定义对象的具体类 (concrete class).

如果在派生类中没有对所有纯函数进行定义, 则此派生类仍然是抽象类, 不能用来定义对象.

//拥有纯虚函数的类,叫抽象类
class Animal
{
  public:
     //纯虚函数
     virtual void bark()=0;
};

Animal a;//NO  抽象类不可以实例化对象了,但是可以定义指针和引用变量

标签:定义,基类,理解,纯虚,派生类,抽象类,函数
From: https://www.cnblogs.com/erichome/p/16931523.html

相关文章

  • 【完结】你对深度学习模型的理解是否足够深刻,这12篇文章可以作为一个参考...
    文/编辑|言有三好的模型结构是深度学习成功的关键因素之一,不仅是非常重要的学术研究方向,在工业界实践中也是模型是否能上线的关键。对各类底层深度学习模型设计和优化技术......
  • <七>理解多态
    理解多态多种多样的形态(静态多态,动态多态)静态多态(编译时期)1:函数重载boolcomparet(int,int);boolcompare(double,double);compare(100,100)->compare_int_i......
  • Java多线程中锁的理解与使用
    1.简介锁作为​​并发​​共享数据,保证一致性的工具,在JAVA平台有多种实现(如synchronized和ReentrantLock等)。2.Java锁的种类公平锁/非公平锁可重入锁独享锁/共享锁互......
  • 20221128 源码理解 spring-boot-starter-web【归档】
    版本信息<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>版本2.6.7目录Ser......
  • Day24.1:抽象类的详解
    抽象类1.1抽象类概述一个动物类中,我们创建对象时会去new一个动物;但是我们不应该直接创建动物这个对象,因为动物本身就是抽象的,没有动物这种实例,我们创建的应该是一个具体......
  • 遍历学生类的属性,易理解版
    这是输出类的代码1.创建一个学生类的集合对象ArrayList<学生类01>AA=newArrayList<>();2.创建一个可以录入键盘数据的对象ScannerBB=newScanner(System.i......
  • TypeScript抽象类
    抽象类(abstractclass)抽象类是专门用来被其他类所继承的类,它只能被其他类所继承不能用来创建实例使用abstract开头的方法叫做抽象方法,抽象方法没有方法体只能定义......
  • lightdb/postgresql中的事务回卷原理解析及避免
    在pg中,由于事务id采用32位实现,所以是采用循环复用的,如下:  虽然最大支持4billion个事务(32位无符号数,xid最大可以到40亿),但是新老事务相差2billion是上限,当达......
  • 论文理解【RL - Exp Replay】—— 【LFIW】Experience Replay with Likelihood-free I
    摘要:经验回放(ExperienceReplay),即使用过去的经验来加速价值函数的时序差分(TD)学习,是深度强化学习的关键组成部分。对重要的经验进行优先排序或重新加权已经被证明可以提高TD......
  • 带宽的理解
    1M带宽指的是1Mbps,Mbps是Millionbitspersecond的缩写,Mbps=Mbit/s即兆比特每秒,它的意思是时间内传输数据的平均比特数,其单位是比特每秒(bps),或千比特每秒(Kbps),或兆比特......