gpt4 book ai didi

c++ - 为什么使用 C++ 接口(interface)作为类之间的连接?

转载 作者:行者123 更新时间:2023-11-30 01:38:12 26 4
gpt4 key购买 nike

我对 C++ 中的接口(interface)有一些疑问。

据我了解,如果您想将基类用于您已经想到的某些任务并为此声明了一些方法(但没有定义),则可以使用它们。但是每个派生类都需要为它们的特定目的实现这些方法,因此您将它们创建为抽象方法。抽象类和接口(interface)之间的唯一区别是,抽象类至少有一个纯虚方法,但一些“普通”方法和接口(interface)只有纯虚方法。是吗?

我的教授将接口(interface)描述为两个类相互通信的一种方式。例如。一个接口(interface)用于网络类,一个用于分析来自该网络的信息的分析器类。但是为什么我需要一个接口(interface)呢?难道我不能只使用普通类而不是从接口(interface)派生的类吗?他说,为了从另一个类中提取信息,您需要有一个接口(interface)派生类。在这里使用接口(interface)有什么好处吗?

我希望我的问题很清楚,英语不是我的第一语言。

编辑:抽象类:(1/3的方法是纯虚的)

class MyAbstractClass {
public:
virtual ~MyAbstractClass() {}

virtual void Method1();
virtual void Method2();

virtual void Method3() = 0;
};

接口(interface):(所有方法都是纯虚的)

class MyInterface {
public:
virtual ~MyInterface() {}

virtual void Method1() = 0;
virtual void Method2() = 0;
};

最佳答案

假设您正在编写分析代码,而您的一位同事正在编写网络代码。你可以给你的同事一个接口(interface)并说“我不在乎你做什么,只要你编写一些遵循该接口(interface)的代码然后我的代码就能够分析它”。

但你是对的,你不必使用接口(interface),但有时它们是划分责任的有用方式。

关于c++ - 为什么使用 C++ 接口(interface)作为类之间的连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48446016/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com