抽象类(abstract class)和混凝土等级(concrete class)的区别

计算机可能相当混乱,这是在添加计算机编程、编程语言和协议之前。更不用说有许多不同的编程语言,它们彼此有很大的不同,并且有自己的一套协议。例如:像Java和C这样的面向对象编程(OOP)语言与过程编程语言和结构化编程语言有很大的不同。OOP语言是基于类的,而其他语言是基于逻辑的。这些面向对象语言通过类的使用实现了封装、继承和多态等面向对象的概念。...
关键区别:类主要有两种类型:抽象类和具体类。两者之间的主要区别在于方**能的实现水平。具体类是常规类,其中所有方法都是完全实现的。抽象类正是它的名字所暗示的。这是函数没有定义的地方,即它们是抽象的。

计算机可能相当混乱,这是在添加计算机编程、编程语言和协议之前。更不用说有许多不同的编程语言,它们彼此有很大的不同,并且有自己的一套协议。例如:像Java和C这样的面向对象编程(OOP)语言与过程编程语言和结构化编程语言有很大的不同。OOP语言是基于类的,而其他语言是基于逻辑的。这些面向对象语言通过类的使用实现了封装、继承和多态等面向对象的概念。

抽象类(abstract class)和混凝土等级(concrete class)的区别

类有两种主要类型:抽象类和具体类。两者之间的主要区别在于方**能的实现水平。具体类是常规类,其中所有方法都是完全实现的。抽象类正是它的名字所暗示的。这是函数没有定义的地方,即它们是抽象的。它是基类。一旦定义了一个抽象类,它就不再是抽象的,而是一个具体的类。具体类是提供成员函数实现的地方。具体类是从基类派生的,即抽象类。

抽象类只由抽象方法组成。抽象方法只包含定义,而不包含实现。实现是在具体类中提供的,只有在具体类之后才能实现方法。抽象类永远不可能是最终的,因为它没有定义的函数。因此,每个程序必须有一个具体的类,以便告诉它要实现哪些函数以及如何实现。

抽象类(abstract class)和混凝土等级(concrete class)的区别

一个更容易思考的方法是考虑一个例子。想想体育,它是一个对象,但一个没有定义的对象。从技术上讲,没有运动这回事。它仅作为其他对象的分类存在。这些对象(如足球、棒球、篮球、曲棍球等)是定义的对象,可以在“运动”下进行分类和实现。因此,体育是抽象的课程,而足球、棒球、篮球和曲棍球是具体的课程。

抽象类与具体类比较:

 

抽象类 混凝土等级
类型 基类 默认类
方法 可能包含部分实现的方法 所有方法都已完全实现
功能 某些或所有声明的函数都是纯虚函数 没有纯粹的虚拟功能
实例化 无法实例化 可以实例化

图片提供:tutorials.jenkov.com,stackoverflow.com

  • 发表于 2021-07-12 13:12
  • 阅读 ( 157 )
  • 分类:通用

你可能感兴趣的文章

班(class)和接口(interface)的区别

...子类中可以访问受保护的成员。 什么是接口(interface)? 抽象是面向对象编程的支柱。它将隐藏实现细节并向用户显示功能。抽象是通过使用抽象类和接口来实现的。抽象方法没有实现。至少包含一个抽象方法的类称为抽象类。 ...

  • 发布于 2020-10-24 04:25
  • 阅读 ( 262 )

面向对象编程中抽象的初学者指南

... 你知道的配料,像白米,都是混凝土。其他元素是抽象的。你知道这是萨尔萨,但什么样的?或者,如果有人随便递给你一个玉米煎饼,那么整个玉米煎饼都是抽象的。 ...

  • 发布于 2021-03-30 04:01
  • 阅读 ( 261 )

抽象类(abstract class)和c中的接口#(interface in c#)的区别

...让我们详细讨论一下两者的理论方面。 什么是抽象类(an abstract class)? 抽象类是一种特殊类型的类,它充当其他类的基,不能实例化。抽象类的实现逻辑由其派生类提供。为了使一个类抽象,使用了“abstract”修饰符,这意味着...

  • 发布于 2021-06-25 03:34
  • 阅读 ( 358 )

抽象类(abstract class)和java接口(interface in java)的区别

...们详细研究一下两者的区别。 什么是java中的抽象类(an abstract class in java)? Java中的抽象类是一个声明为抽象的类——它可能包含也可能不包含抽象方法。它与Java接口非常相似,只是它可以包含默认的方法实现。与面向对象编程...

  • 发布于 2021-06-25 03:52
  • 阅读 ( 306 )

混凝土(concrete)和抽象名词(abstract nouns)的区别

...iting. So always try to use concrete nouns to explain abstract references. 混凝土(concrete)和抽象名词(abstract nouns)的区别 意思 具体名词指人、地方或事物。 抽象名词指思想和概念。 有形 具体名词是有形的。 抽象名词是无形的 五官 具体名词可...

  • 发布于 2021-06-27 06:18
  • 阅读 ( 901 )

抽象类(abstract class)和java接口(interface in java)的区别

...键术语 抽象类、接口、多重继承 什么是java中的抽象类(abstract class in java)? 用abstract关键字声明的类称为抽象类。抽象类既可以有抽象方法,也可以有非抽象方法。类可以扩展抽象类并实现抽象类的抽象方法。不能从抽象类创...

  • 发布于 2021-07-01 01:29
  • 阅读 ( 283 )

工厂模式(factory pattern)和抽象工厂模式(abstract factory pattern)的区别

...ShapeFactory以获取所需的对象类型。 什么是抽象工厂模式(abstract factory pattern)? 抽象工厂模式使用超级工厂并创建其他工厂。它也被称为工厂的工厂。在这种模式中,接口创建相关对象的工厂,而不显式指定它们的类。换言之,...

  • 发布于 2021-07-01 06:13
  • 阅读 ( 192 )

封装(encapsulation)和c语言中的抽象#(abstraction in c#)的区别

...t方法赋值,public get方法获取值。 什么是c语言中的抽象#(abstraction in c#)? 抽象有助于隐藏实现细节,只允许向用户显示功能。假设一台电视机的遥控器。用户不需要知道控制器的内部电路就可以使用它。抽象与此类似。它关注...

  • 发布于 2021-07-01 14:04
  • 阅读 ( 378 )

抽象类(abstract class)和php中的接口(interface in php)的区别

...象,抽象类,接口,面向对象,PHP 什么是php中的抽象类(abstract class in php)? 抽象方法是没有任何实现的方法。抽象类是至少有一个抽象方法的类。它既可以有抽象的方法,也可以有非抽象的方法。关键字“abstract”用于声明抽...

  • 发布于 2021-07-01 18:08
  • 阅读 ( 229 )

抽象类(abstract class)和java中的最后一个类(final class in java)的区别

...抽象类、最终类、Java、对象、OOP 什么是java中的抽象类(abstract class in java)? 抽象是面向对象编程的一个主要范例。它是一种隐藏内部细节并仅向用户显示功能的方法。它还有助于降低程序的复杂性。实现抽象的一种方法是使用...

  • 发布于 2021-07-01 22:19
  • 阅读 ( 255 )
Jessica_j12
Jessica_j12

0 篇文章

相关推荐