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

抽象类和具体类之间的主要区别是不可能使用抽象类创建对象而使用具体类则可以创建对象。...

抽象类和具体类之间的主要区别是不可能使用抽象类创建对象而使用具体类则可以创建对象。

面向对象编程(OOP)是软件开发中的一种流行范式。它有助于轻松地开发一个真实的场景。此外,它还允许程序员使用一组对象对软件进行建模。这些对象与其他对象通信以传递消息。此外,使用类创建对象。具体类是默认类。OOP的一个主要支柱是抽象。抽象类是实现抽象的一种方法。

覆盖的关键领域

1.什么是抽象类-定义,功能2.什么是具体类-定义,功能3.抽象类和具体类的区别-主要区别比较

关键术语

抽象,抽象类,类,具体类,面向对象

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

什么是抽象类(abstract class)?

OOP中的一个主要概念是抽象。它是一个隐藏内部细节并只向用户显示功能的过程。抽象类是实现抽象的一种方法。Java等编程语言使用抽象关键字来表示抽象类。

抽象方法是没有实现的方法。此外,抽象类可以有抽象方法和非抽象方法。类可以扩展抽象类。然后它可以为抽象类的抽象方法提供实现。此外,抽象类可以有构造函数和静态方法。

从抽象类创建对象是不可能的。但是,程序员可以从扩展抽象类的类中创建对象。如果抽象类中的抽象方法被声明为final,那么扩展抽象类的类就不能为抽象方法提供实现。

Abstract Class vs Concrete Class_Figure 1

Figure 1: Shape class

Main Difference - Abstract Class vs Concreate Class_Figure 2

Figure 2: Square class

Shape是一个抽象类。它有一个抽象方法draw和一个非抽象方法display。此外,正方形类扩展了形状。因此,Square类可以提供Shape类中抽象方法(draw)的实现。

Difference Between Abstract Class and Concrete Class_Figure 3

Figure 3: Main Class

在main方法中创建一个正方形对象。最后,使用该对象调用draw方法。控制台上显示“正方形”。

什么是混凝土等级(concrete class)?

具体类是一个没有任何未实现方法的类。Java等编程语言使用class关键字来表示类。具体类是创建对象的蓝图。它有属性和方法。属性表示属性或数据,而方法表示类的行为。这些属性和方法是类的成员。

Difference Between Abstract Class and Concrete Class

Figure 4: Concrete Class

上面是一个名为矩形的具体类。这里,它有两个私有属性:长度和宽度。它还有一个名为矩形的构造函数,用于向属性提供初始值。此外,还有一种方法称为displayArea。

另外,这个类还有main方法。在main方法中,创建一个矩形(r)对象,并将值5和4传递给构造函数。此外,构造函数将值5指定给长度,将值4指定给宽度。最后,使用对象调用displayArea方法。它在控制台上显示矩形的区域。

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

定义

抽象类是用抽象关键字声明的类,抽象关键字是抽象方法和非抽象方法的集合,而具体类是允许使用new关键字创建实例或对象的类。因此,这就是抽象类和具体类的主要区别。

对象创建

程序员不能使用抽象类创建对象,而程序员可以使用具体类创建对象。

方法

抽象类具有未实现的方法,而具体类中的所有方法都实现了。

结论

简言之,面向对象是软件开发的一种主要范式,抽象类和具体类是与面向对象相关的两个概念。抽象类和具体类之间的主要区别在于,不可能使用抽象类创建对象,而可以使用具体类创建对象。

引用

1.“Java中的对象| Java中的类–Javatpoint.”Www.Javatpoint.com,可在此处获得。2.“Java中的抽象类–Javatpoint”,Www.Javatpoint.com,可在此处获得。 2.“Java中的抽象类–Javatpoint”,Www.Javatpoint.com,

  • 发表于 2021-07-01 18:04
  • 阅读 ( 1025 )
  • 分类:IT

你可能感兴趣的文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 发布于 2021-07-01 22:19
  • 阅读 ( 245 )
gtmll3298
gtmll3298

0 篇文章

相关推荐