事实上的(virtual)和摘要(abstract)的区别

Virtual和Abstract是大多数面向对象(OO)编程语言(如Java和C)中使用的两个关键字。尽管在不同的语言中它的含义略有不同,但虚拟关键字和抽象关键字都为它所附加的实体提供了一种部分实现的感觉。...

虚拟与抽象

Virtual和Abstract是大多数面向对象(OO)编程语言(如Java和C)中使用的两个关键字。尽管在不同的语言中它的含义略有不同,但虚拟关键字和抽象关键字都为它所附加的实体提供了一种部分实现的感觉。

摘要

通常,抽象类,也称为抽象基类(ABC),不能实例化(不能创建该类的实例)。因此,只有当编程语言支持继承(通过扩展类创建子类的能力)时,抽象类才有意义。抽象类通常表示一个抽象的概念或实体,有部分实现或没有实现。因此,抽象类充当从中派生子类的父类,这样子类将共享父类的不完整特性,并且可以添加功能来完成这些特性。抽象类可以包含抽象方法。扩展抽象类的子类可以实现这些(继承的)抽象方法。如果子类实现了所有这样的抽象方法,那么它就是一个具体类。但如果不是这样,子类也会变成抽象类。所有这一切意味着,当程序员指定一个类作为一个抽象类时,她是说这个类将是不完整的,它将有需要继承子类完成的元素。这是在两个程序员之间创建契约的好方法,它简化了软件开发中的任务。编写代码来继承的程序员需要严格遵循方法定义(当然也可以有自己的实现)。在Java和C中,抽象类和方法是使用Abstract关键字声明的。

事实上的

虚拟方法/函数提供了通过继承类(使用具有相同签名的函数)选择性重写其行为的能力。虚拟函数的概念在以下场景中很重要。假设一个类是由子类派生的,那么每当使用派生类的对象时,它可能引用基类或派生类的对象。但是,如果基类方法被重写,方法调用行为可能是不明确的。因此,为了解决这种模糊性,使用了虚拟关键字。如果方法标记为Virtual,则调用派生类的函数(如果有),否则调用基类的函数。例如,在C++中,虚拟关键字正好用于此目的。在C#中,Virtual关键字的使用方式类似,但除此之外,关键字重写应用于修改所有重写的方法。但是在Java中,没有显式的虚关键字。所有非静态方法都被认为是虚拟的。没有实体的虚函数称为纯虚函数。在Java和C中,抽象方法实际上是纯虚拟的。

虚与抽象的区别

  • 发表于 2020-11-02 16:43
  • 阅读 ( 85 )
  • 分类:IT

你可能感兴趣的文章

事实上的(virtual)和传统团队(traditional teams)的区别

...员通常被分配有共同的目标、目标、责任和最后期限。 事实上的(virtual)和传统团队(traditional teams)的区别 虚拟团队和传统团队的主要区别在于,在虚拟团队中,成员之间的距离是物理距离,而在传统团队中,成员之间的工作距离...

  • 发布于 2020-10-15 07:13
  • 阅读 ( 640 )

摘要(abstract)和介绍(introduction)的区别

...解两者的区别,以及摘要和导言的作用。 什么是摘要(an abstract)? 首先让我们从抽象开始。摘要,也称为大纲,是期末论文的简短形式。它包含了研究结果的关键。摘要也指提交会议或研讨会的研究论文的简短版本。任何一所大...

  • 发布于 2020-10-22 19:14
  • 阅读 ( 355 )

摘要(abstract)和具体思路(concrete thinking)的区别

...希望我们更善于分析问题,以一种他们似乎并不存在,但事实上却是这样的方式来看待事情。 抽象思维(abstract thinking)和具体思考(concrete thinking)的区别 抽象思维强调的是隐藏的或有意的意义,而具体的思维总是字面的,直截...

  • 发布于 2020-11-04 10:41
  • 阅读 ( 429 )

事实上的(virtual)和高速缓存(cache memory)的区别

在计算机世界里,memory sets the limit upon which we base if we can run that program or not. If you were unlucky enough to have experienced DOS, then you know the bane of the 640k memory limit. Nowadays memory seems to be almost infinite and nobody actually gets the ‘not enough memory’ me...

  • 发布于 2021-06-22 11:01
  • 阅读 ( 240 )

抽象(abstraction)和虚拟化(virtualization)的区别

...但它并不总是隐藏底层的细节。虚拟机的概念并不新鲜;事实上,自从20世纪60年代IBM开发出第一台提供对大型机交互访问的虚拟机以来,虚拟机就已经存在了。抽象实现了云计算的关键好处,即共享的、无处不在的访问。抽象...

  • 发布于 2021-06-26 12:32
  • 阅读 ( 493 )

摘要(abstract)和介绍(introduction)的区别

主要差异摘要(main difference abstract) vs. 介绍(introduction) Abstract and introduction are two secti*** that can be found at the beginning of a document. Although abstract and introduction share some similar features, there are some fundamental differences between the two. Abstra...

  • 发布于 2021-06-28 01:46
  • 阅读 ( 279 )

抽象(abstraction)和封装(encapsulation)的区别

...是一种提取创建系统的关键元素的机制,没有实现细节。事实上,我们必须只专注于要做什么,而不是如何去做。抽象是一个思维过程,它在设计层面解决问题。 层次分类帮助我们处理复杂的抽象。它使我们能够将一个复杂的...

  • 发布于 2021-07-08 07:25
  • 阅读 ( 164 )

摘要(abstract)和语言的具体化(concrete in language)的区别

关键区别:术语“抽象”指的是能够思考出盒子之外的概念,即仅仅用五种感官无法感觉到或体验到的概念。具体的名词或概念通常可以用一个人的五种感官来体验:触觉、味觉、嗅觉、视觉和声音。 语言是一种强大的工具,...

  • 发布于 2021-07-12 13:08
  • 阅读 ( 219 )

事实上的(virtual)和抽象方法(abstract method)的区别

... 必修课 用于将其与其他类型的方法区分开来的关键字 事实上的 摘要 等级 可以实例化包含虚拟方法的类。 无法实例化包含抽象方法的类。只能继承。 范围 虚拟方法的作用域仅限于成员。 将方法的作用域抽象为成员和类...

  • 发布于 2021-07-13 21:02
  • 阅读 ( 172 )

如何为科学论文写摘要(write an abstract for a scientific paper)

如果你正在准备一篇研究论文或拨款申请,你需要知道如何写摘要。下面我们来看看什么是摘要以及如何写摘要。 摘要 摘要是对实验或研究项目的简明总结。它应该简短——通常不超过200字。摘要的目的是通过陈述研究目...

  • 发布于 2021-09-10 01:31
  • 阅读 ( 195 )
xxl6382
xxl6382

0 篇文章