纯虚函数和抽象类关系 - 极悦
首页 课程 师资 教程 报名

纯虚函数和抽象类关系

  • 2020-10-26 17:43:11
  • 1603次 极悦

学习java的时候,相信大家都碰到过纯虚函数和抽象类的内容,属于java基础范围内的知识,这两者的关系是需要大家知道的,因此这篇文章来说一说纯虚函数和抽象类关系,对这方面有疑惑的朋友们可以来学习下面的内容。

image.png

在纯虚函数和抽象类关系的问题前,我们先来认识纯虚函数和抽象类是什么:


有时在基类中将某一成员函数定为虚函数,并不是基类本身的要求,而是考虑到派生类的需要,在基类中预留了一个函数名,具体功能留给派生类根据需要去定义。纯虚函数是在声明虚函数时被“初始化”为0的函数。声明纯虚函数的一般形式是:virtual 函数类型 函数名 (参数表列) = 0;关于纯虚函数需要注意的几点:(1)纯虚函数没有函数体;(2)最后面的“=0”并不表示函数返回值为0,它只起形式上的作用,告诉编译系统“这是纯虚函数”;(3)这是一个声明语句,最后应有分号。纯虚函数只有函数的名字而不具备函数的功能,不能被调用。它只是通知编译系统:“在这里声明一个虚函数,留待派生类中定义”。在派生类中对此函数提供定义后,它才能具备函数的功能,可被调用。


再来谈抽象类:如果声明了一个类,一般可以用它定义对象。但是在面向对象程序设计中,往往有一些类,它们不用来生成对象。定义这些类的惟一目的是用它作为基类去建立派生类。它们作为一种基本类型提供给用户,用户在这个基础上根据自己的需要定义出功能各异的派生类。用这些派生类去建立对象。

image.png

纯虚函数的作用是在基类中为其派生类保留一个函数的名字,以便派生类根据需要对它进行定义。抽象类的作用是作为一个类族的共同基类,或者说,为一个类族提供一个公共接口。一个类层次结构中当然也可不包含任何抽象类,每一层次的类都是实际可用的,可以用来建立对象的。

纯虚函数的作用是在基类中为其派生类保留一个函数的名字,以便派生类根据需要对它进行定义。


如果在基类中没有保留函数名字,则无法实现多态性。如果在一个类中声明了纯虚函数,而在其派生类中没有对该函数定义,则该虚函数在派生类中仍然为纯虚函数。如果在基类声明了虚函数,则在派生类中凡是与该函数有相同的函数名、函数类型、参数个数和类型的函数,均为虚函数(不论在派生类中是否用virtual声明)。


使用虚函数提高了程序的可扩充性,把类的声明与类的使用分离,这对于设计类库的软件开发商来说尤为重要。以上就是对纯虚函数和抽象类关系的详细介绍,如果看完以上的内容,对纯虚函数和抽象类关系还有疑惑,可以在java教程中找到答案。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交