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

面向对象编程(OOP)是软件开发中的一种常见范式。它有助于使用类和对象为编程带来真实的场景。类是创建对象的蓝图。程序员可以用属性和方法创建一个类。学生和老师是客体。创建对象称为实例化。OOP也使用接口。接口和类看似相似,但它们有区别。本文讨论类和接口之间的区别。类和接口之间的关键区别在于类是引用类型,它是实例化对象的蓝图,而接口是不能用于实例化对象的引用类型。...

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

面向对象编程(OOP)是软件开发中的一种常见范式。它有助于使用类和对象为编程带来真实的场景。类是创建对象的蓝图。程序员可以用属性和方法创建一个类。学生和老师是客体。创建对象称为实例化。OOP也使用接口。接口和类看似相似,但它们有区别。本文讨论类和接口之间的区别。类和接口之间的关键区别在于类是引用类型,它是实例化对象的蓝图,而接口是不能用于实例化对象的引用类型。

目录

1. 概述和主要区别
2. 什么是阶级
3. 什么是接口
4. 类与接口的相似性
5. 并排比较-以表格形式显示类与接口
6. 摘要

什么是班(class)?

在OOP中,一切都被视为一个对象。没有类是不可能创建对象的。类是创建对象的蓝图。建造房屋时,建筑师要绘制平面图。这个计划和上课很相似。这房子和这个物体很相似。类是构建对象的计划。对象是使用类创建的对象。

类包含属性和方法。学生可以拥有诸如姓名、年级、索引号等属性。学生可以有读书、散步、学习等方法。必须使用属性和方法创建类。

用许多编程语言创建类的语法如下。它是使用关键字类创建的。

类名{

//属性

//方法

}

C和Java等编程语言遵循类似的语法来使用类创建对象。假设类名是Student。

学生s1=新生();

这个s1就是对象。“new”关键字用于为属性分配内存。类还有一个构造函数来初始化属性或变量。

类成员(如属性和方法)具有访问修饰符。访问说明符描述这些成员对其他类的可访问性和可见性。类的成员可以具有访问说明符,如public、private和protected。其他类可以访问公共成员。私有成员只有类可以访问。在类和相关子类中可以访问受保护的成员。

什么是接口(interface)?

抽象是面向对象编程的支柱。它将隐藏实现细节并向用户显示功能。抽象是通过使用抽象类和接口来实现的。抽象方法没有实现。至少包含一个抽象方法的类称为抽象类。

当有两个抽象类时,应该实现在这些类中声明的方法。一个新的类用于实现这些方法。如果两个类都有相同的方法,可能会导致歧义问题。因此,Java和C等编程语言都有一个接口。

接口只包含方法的声明。没有实现的方法。此外,接口不能用于创建对象。它们用于支持多个继承并保护代码。

接口语法如下。Interface使用关键字“Interface”。

接口接口名称{

类型method1(参数_列表);

类型method2(参数_列表);

}

根据上面的说明,接口只有声明。没有定义。因此,接口不能实例化对象。它只给出了接口是什么的抽象视图。接口中声明的方法可以由一个或多个类实现。类使用关键字“implement”来实现接口。请参阅下面使用Java编写的示例。

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

图01:使用接口的程序

根据上述程序,A和B是接口。接口A有一个方法声明,即sum()。接口B具有方法声明sub()。类C实现了A和B两个接口。因此,C类同时定义了sum()和sub()方法。创建C类型的对象后,可以同时调用sum()和sub()方法。

接口内声明的方法必须始终是公共的,因为实现类定义了它们。一个接口也可以从另一个接口继承。

班(class)和接口(interface)的共同点

  • 两者都是引用类型。
  • 两者都与面向对象编程有关。

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

类与接口
类是一种引用类型,它是创建对象的蓝图。 接口是无法实例化的引用类型。
对象实例化
类用于实例化对象。 无法实例化接口,因为方法无法执行任何操作。
建造师
类包含一个构造函数,用于初始化变量。 接口不包含构造函数,因为它们几乎不是任何要初始化的变量。
关键字
类使用关键字“class”。 接口使用关键字“interface”。
访问说明符
类的成员可以是私有的、公共的和受保护的。 接口的成员应该始终是公共的,因为实现类定义了它们。

总结 - 班(class) vs. 接口(interface)

类和接口在面向对象编程中被广泛使用。类和接口的区别在于类是引用类型,它是实例化对象的蓝图,而接口是不能用来实例化对象的引用类型。一个类可以实现许多接口。但它只能扩展一个超类。In接口可以继承许多接口,但不能有实现。两者都有其重要性。程序员可以根据开发软件来使用它们。

下载pdf类vs接口

你可以下载这篇文章的PDF版本,并按照引文说明离线使用。请在这里下载PDF版本的类和接口的区别

引用

  • 发表于 2020-10-24 04:25
  • 阅读 ( 256 )
  • 分类:IT

你可能感兴趣的文章

包裹(package)和java接口(interface in java)的区别

Java中的Package和Interface的主要区别在于,Package有助于对类进行有条理的分类以方便访问和维护,而Interface则有助于实现多个继承和实现抽象。 Java是最流行的编程语言之一。Java的主要优点是它支持面向对象编程。这种方法允...

  • 发布于 2020-10-18 11:01
  • 阅读 ( 569 )

班(class)和结构(c)#(structure in c#)的区别

... 两者都有属性和方法。 类和结构都可以实现一个或多个接口。 班(class)和c中的结构#(structure in c#)的区别 C语言中的类与结构# 类是用于创建对象的蓝图。 结构是一种值类型的数据类型,可以保存各种数据类型的相...

  • 发布于 2020-10-19 17:15
  • 阅读 ( 222 )

继承(inheritance)和java接口(interface in java)的区别

继承(inheritance)和java接口(interface in java)的区别 Java是Sun Microsystems公司开发的一种编程语言。Java可以用来开发各种应用程序。它是一种支持面向对象、结构化等多种范式的语言,Java的主要优点是支持面向对象编程(OOP)。程序...

  • 发布于 2020-10-25 00:02
  • 阅读 ( 490 )

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

...。它们看起来很像接口,但增加了功能。 什么是接口(an interface)? 另一方面,接口不是只包含功能签名的类。这是一个没有实现的模式。从概念上讲,它只是包含成员声明的方法定义。它是一个空shell,不包含其成员的实现。...

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

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

...供100%的抽象,因为它可以有具体的方法。 什么是接口(an interface)? 接口虽然看起来像一个类,但实际上不是。因为Java不支持多继承,所以接口有时非常适合为类层次结构提供基础。接口更像是类的蓝图,在Java中也用于实现抽...

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

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

...ngle draw()中的方法并打印“Rectangle”。 什么是java接口(interface in java)? Java中的接口类似于类。接口中的所有方法都是抽象方法。与抽象类类似,接口不能实例化。接口既可以用于抽象,也可以用于实现多重继承。通过使用inte...

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

班(class)和结构(structure)的区别

类和结构之间的主要区别在于,类是引用类型的数据类型,而结构是值类型的数据类型。 在编程中,变量是存储数据的存储区域。每个变量都有它可以存储的特定数据类型。主要有两种数据类型:值类型和引用类型。在值类型...

  • 发布于 2021-07-01 04:30
  • 阅读 ( 291 )

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

...口引用新创建的对象。请参阅下面的程序。 Figure 1: Shape Interface Figure 2: Rectangle Class Figure 3: Square class Figure 4: Circle class Figure 5: ShapeFactory class Figure 6: Main class Shape接口有一个名为draw的抽象方法。矩形、正方形和圆形是类。它们实...

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

连接线(displayport)和高清多媒体接口(High Definition Multimedia Interface)(hdmi)的区别

...操作性。 什么是高清多媒体接口(High Definition Multimedia Interface)(hdmi)? HDMI代表高清多媒体接口。它将视频和音频结合成一个单一的数字接口,用于DVD播放器、数字电视播放器和其他音频设备。此外,HDMI是基于高带宽数字内容...

  • 发布于 2021-07-01 07:48
  • 阅读 ( 256 )

包裹(package)和接口(interface)的区别

...st”,则import语句如下所示。 导入测试。*; 什么是接口(interface)? 接口是实现抽象和多重继承的机制。接口中的方法是抽象方法。这些方法没有任何实现。它也可以有变量或字段。它们可以是公共的、静态的或最终的。此外,...

  • 发布于 2021-07-01 09:47
  • 阅读 ( 350 )
Iovedove
Iovedove

0 篇文章

相关推荐