• 虚函数 纯虚函数 抽象方法 接口


    虚函数

    虚函数其实是C++中的讲法,就是说将一个函数实现声明为虚函数,这样就为子类提供了一个默认的实现,子类可以选择进行重新实现,或者不进行实现。这样对应到java里,其实就是java里的普通函数。虚函数是可以由子类进行无限覆盖的函数,另外自己也可以进行实现,而java的普通成员函数就可以做到,C++的普通函数就不行,否则就报重复定义error了,必须得加上virsual关键字声明。

    纯虚函数

    也是C++的讲法,与虚函数的区别就是声明的地方不能有实现,完全交给子类,相当于定义保留了一个接口。
    C++中纯虚函数形式为:virtual void print() = 0;
    对应到java中,就是抽象方法的概念,也就是abstract声明的函数。
    JAVA中抽象方法定义形式:abstract void print();

    抽象类

    C++与JAVA中都有这个概念,在C++中,只要一个类中包含了一个纯虚函数,那么这个类就是一个抽象类;而在JAVA中,如果一个类中包含有一个抽象方法,由于JAVA有规定,这种情况下,这个类必须要用abstract来修饰,也就是一个抽象类了。
    C++与JAVA中的抽象类有个共同点,就是抽象类不能直接拿来实例化,因为其中有抽象的函数,只能通过实现了这些函数的子类实例化。

    接口

    C++中没有独立的接口的概念,其实就是成员函数全部为纯虚函数的类,子类必须对他们进行全部实现。
    JAVA中有独立的接口概念,就是interface修饰的类,跟C++中的纯虚基类换汤不换药,代码看起来样式不一样而已,另外,java中的接口在声明的时候必须都定义为public的。

     

  • 相关阅读:
    文件操作
    xadmin的使用
    Vue
    Redis
    Django
    python小结
    利用线程池和回调函数爬虫
    drf-基表、断关联表关系、级联删除、正方向查询、子序列化
    drf序列化
    drf初识
  • 原文地址:https://www.cnblogs.com/flyme/p/4565916.html
Copyright © 2020-2023  润新知