抽象类和具体类有何异同?

来源:百度知道 编辑:UC知道 时间:2024/05/19 15:16:33
详细的问题说明,有助于回答者给出准确的答案

面向对象是对接口编程,不是对实现编程。抽象类定义了接口,至于怎么实现,调用者已经不用关心了。
相当于提供了一种特定类的使用规范,其中一部分是公共的,能够使该类正常运转并提供外部接口,它与接口的区别也就在与此;另一部分由虚函数组成,供子类继承实现。这样做的好处是只要实现自己需要的部分,就可以自动运转,没有关联。
简单的说,抽象类就是含有纯虚函数的类,这是它的定义。

从功能上来讲,抽象类定义了一个接口,即方法调用规约,派生类实现具体的规约。这实际上可以将具体的实现和接口分离开来,从而达到底层细节变化而高层框架不变的需求,通俗一点就是解耦。