Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 接口、协议和;抽象类_Java_C++_Class_Virtual Functions - Fatal编程技术网

Java 接口、协议和;抽象类

Java 接口、协议和;抽象类,java,c++,class,virtual-functions,Java,C++,Class,Virtual Functions,在学习虚拟函数时,我遇到了三个术语- 接口、协议、抽象类。 谁能解释一下他们之间的差异吗?界面: 接口是抽象方法的集合。类实现接口,从而继承接口的抽象方法。 抽象类: Java中的抽象类是包含一个或多个抽象方法的类,这些方法只是没有主体的方法声明,也就是说,没有实现该类或方法的可执行代码。抽象方法就像方法的原型,声明方法的返回类型和参数列表,但不提供方法的实际实现。 注意:不了解协议我可以解释抽象类和接口之间的区别。 1。接口:它是一组在接口中没有定义实体的方法。这意味着,在接口中,您可以只声明

在学习虚拟函数时,我遇到了三个术语- 接口、协议、抽象类。


谁能解释一下他们之间的差异吗?

界面: 接口是抽象方法的集合。类实现接口,从而继承接口的抽象方法。 抽象类: Java中的抽象类是包含一个或多个抽象方法的类,这些方法只是没有主体的方法声明,也就是说,没有实现该类或方法的可执行代码。抽象方法就像方法的原型,声明方法的返回类型和参数列表,但不提供方法的实际实现。
注意:不了解协议

我可以解释
抽象类
接口
之间的区别。
1。接口:它是一组在接口中没有定义实体的方法。这意味着,在接口中,您可以只声明方法,而不能定义实体。主体必须在派生类中定义。

2。抽象类:它是接口和类的混合体。其中有些方法用实体声明,有些方法声明为抽象。抽象意味着方法在类中声明,但不在类中定义,就像接口一样。但在抽象类中,可以使用默认行为的方法,这在接口中是不可能的。在派生类中,必须定义所有抽象方法,否则派生类应声明抽象。

您肯定能够找到这些术语的一些定义。那么,对于我们应该解释的内容,有什么具体不清楚的地方呢?请让我们知道您到底混淆了什么。请查阅Stroustrup的词汇表-。如果有不清楚的地方,在这里询问。在提供的链接SChepurin中,抽象类被定义为仅定义接口的类。那么这两者之间没有区别吗?在其他地方,我发现两者都被定义为一个不能实例化的类。接口是一个一般概念,抽象类是在C++中实现这个概念的一个手段。