接口和多态

接口和多态接口和多态,打一个比方,就是把所有家禽类一块喂!对不对?不太懂

这个du知道君到处乱说。多态和接口是紧密关联了,没有接口就根本无法实现多态。

多态的意义在于一种接口多种实现。什么是接口,接口就是声明,是一种自定义调用约定或协议,具体怎么做由派生类实现。其实就算是vb的函数也有接口的,其函数名就是接口,只不过vb无法实现接口和实现分离,也就是不存在单独的接口,一个函数名声明必须有一个实现且只能有一个实现。

c++的强大就是得益于其声明和实现可以分开,从而可以实现调用一种接口实现不同的功能。在c++中充当接口角色的就是虚基类和纯虚基类,前者可以包含部分实现但必须有一个虚函数,而后者其成员函数必须完全是虚函数,纯虚基类与C#中接口相似。

说得多了怕你不理解,我以银行存款过程来类比。你准备去银行存钱,营业员让你填单子,这个存款单就是接口,它包含了协议,你根据需要在上面勾选服务,这个行为类比你将派生类对象绑定到接口,或者说将对象地址赋值给基类指针。你提交存款单,相当于传递指针。银行职员接受你的单子并执行存款服务,职员事先并不知道你要做什么,而是根据你提交的单子执行任务,不同的任务对应不同的派生类对象,也就是不同的对象执行特定的任务,这就是多态。
温馨提示:答案为网友推荐,仅供参考
相似回答