什么是抽象类?(an abstract class?)

在面向对象编程中,抽象类提供了一个基类,可以用来为其他类提供部分实现和接口。在java、C++、C等许多编程语言中,它们本身是不完整的,并用于继承情况。将它们用作基类意味着它们通常被称为抽象基类(ABC)。...
Programmers create child objects from classes, and these objects inherit the functions and methods within the parent class.

在面向对象编程中,抽象类提供了一个基类,可以用来为其他类提供部分实现和接口。在java、C++、C等许多编程语言中,它们本身是不完整的,并用于继承情况。将它们用作基类意味着它们通常被称为抽象基类(ABC)。

作为面向对象编程的一个组成部分,数据抽象消除了对象不必要的细节。本质上,它将对象归结为其主要识别特征。这些基本特征提供了一个蓝图,可用于创建具有相同特性的其他对象,只是在细节上有所不同。

这个蓝图被定义为一个类。类用于封装代码,使程序员更容易,因为他可以引用特定的公共例程,而不是反复编写例程。程序员从类中创建子对象,这些对象继承父类中的函数和方法。

抽象类的目的是作为构建其他类的框架。对象不能直接从抽象类创建,只能从属于抽象类的子类创建。对于要从抽象类继承的对象,必须创建一个子类。抽象类的已创建子类的对象继承该抽象类的属性。

每个类都建模一个概念,抽象类倾向于使用抽象方法来建模更抽象的概念。抽象方法是抽象类中不包含实现的子例程。这些子例程用作占位符,由子类或基于包含抽象方法本身的类设计的对象覆盖。

创建抽象类有不同的方法。例如,在C++中,抽象类是通过用至少一种抽象方法或纯虚函数开发一个类来创建的。Java使用关键字“abstract”来表示抽象类。然而,它们不是在不支持继承思想的编程语言中定义的。

继承是从类中创建新对象的过程,新对象可以使用在其父类中定义的函数和方法,而无需重述程序。这就是为什么抽象类是有用的。这些子类的子类和子对象继承父抽象类的属性。抽象类被认为是超类,并且位于类结构层次结构的顶部,因此它们在不支持继承的语言中毫无意义。。

  • 发表于 2022-01-05 18:51
  • 阅读 ( 54 )
  • 分类:IT

你可能感兴趣的文章

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

... 什么是抽象什么(abstract and what)? ...

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

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

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

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

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

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

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

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

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

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

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

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

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

数据隐藏(data hiding)和抽象(abstraction)的区别

...总的来说,数据隐藏有助于保护类的成员。 什么是抽象(abstraction)? 抽象隐藏了内部细节,只向用户显示功能。换句话说,它隐藏了实现细节,并向外界展示了功能。例如,假设一个真实世界的应用程序,例如移动电话。用户不...

  • 发布于 2021-07-01 13:14
  • 阅读 ( 325 )

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

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

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

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

... 抽象,抽象类,类,具体类,面向对象 什么是抽象类(abstract class)? OOP中的一个主要概念是抽象。它是一个隐藏内部细节并只向用户显示功能的过程。抽象类是实现抽象的一种方法。Java等编程语言使用抽象关键字来表示抽象类...

  • 发布于 2021-07-01 18:04
  • 阅读 ( 1091 )

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

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

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

抽象(abstraction)和继承(inheritance)的区别

...象,抽象类,继承,接口,对象,面向对象 什么是抽象(abstraction)? 抽象是一种隐藏内部细节并只向用户显示功能的方法。换句话说,用户或外部世界看不到内部实现细节。相反,他只看到功能。抽象概念类似于下面的示例。...

  • 发布于 2021-07-01 22:13
  • 阅读 ( 445 )
sxto925935
sxto925935

0 篇文章

相关推荐