2015-04-02 56 views
0
  1. 关于类,接口是什么意思?我认为它是指该班的所有公共职能。我是正确还是意味着别的? 我一直听到它很多,但从来没有注意到明确的定义。需要对OOP中的接口进行说明

  2. 这是一个真正的问题。 派生类保留它所派生的基类的接口是什么意思?我认为这意味着基类中的公共函数也必须在派生类中公开(这将在公共和受保护的继承中)。我错了吗?

+0

1.公共函数**和变量**。 – 2015-04-02 03:59:03

+0

1.接口只是其他对象与对象通信的一种方式。通常情况下,接口是由该对象的公共属性显式定义的(但并非所有语言都强制执行此操作)。 2.如果派生对象保留其基类的接口,那么知道如何使用* base class *的其他代码将能够使用该知识来操作派生类*。 – 2015-04-02 04:03:45

回答

1
  1. 是的,一个类的接口是其可见的成员函数到外面的世界,也就是它的公共成员函数的集合。一些还在接口中包含成员变量,但通常不会有公共成员变量(除非声明为static)。通常,interfaces通过抽象基类实现。这与Java不同,后者具有用于指定接口的不同关键字。

  2. 保留接口意味着基类中的公共成员函数在类层次结构中可见。此外,您可以重写虚函数,以便获得多态行为,并保持通用接口。请注意,只有public继承保留接口,protectedprivatedo not。未能保留接口的另一种方法是通过C++中的名称隐藏。例如:重新声明Base::f(int)Derived::f(float,float)。在这种情况下,Base::f(int)Derived中不再可见,除非通过using Base::f;语句。