• 抽象类,虚方法与普通类的区别


    1.虚方法

    在一个类中,用virtual修饰符标识的方法,叫做虚方法。他被用来在其派生类中重写方法。

    例如,我们可以这样写:

     

     

     

     有人可能会疑惑,为什么要写虚方法,我直接再写个别的方法不就行了吗?

    如果你这样问的话,我就不开心了,说明你面向对象三大特征没有明白,多态是怎么实现的,不就是可以通过使用虚方法实现的吗(也可以重载),不要告诉我你不知道什么是多态啊

    简单解释下,多态:同一行为的不同实现方式。实际上就是同一个类型的实例调用"相同"名称的方法,产生的结果是不同的。比如,有一个动物父类,当中有一个fly()的虚方法表示飞行动作,其子类鸡鸭鹅等继承父类,但鸡鸭鹅的飞行方式,飞的高低等是不一样的,我们可以在这些子类中重写fly()这个虚方法,表示自己特有的飞行方式。这就是多态,多种形态。

    2.抽象成员

    1. 在了解抽象类之前,我们先简单了解下抽象成员,(我们必须知道什么是成员,属性,方法这些都是成员)

     抽象成员是被设计用来覆写的函数成员,他被用abstract修饰符标记,没有实现代码块,被用分号代替。(代码块:用一对“{}”括起来的代码)

    例如,在哟个抽象类中,有以下抽象成员:(注意,抽象成员必须在抽象类中)

     

    但如果你不在抽象类中,他会报错提示你的的:

     

    普通类中,我们有以下比较:

     

     

    3.抽象类

    1.用abstract修饰符标识的类,称为抽象类。抽象类就是被设计用来被继承的。  

    抽象类可以包含抽象成员,也可以包含其他普通成员,一个抽象类可以派生出另一个抽象类,也可以派生出另一个普通类,但这个普通类必须实现其父类(抽象基类)的所有抽象成员。

     

     

     

     

     

     

     

    2.从上面的代码中其实你已经可以看到,实现抽象成员的方法就是使用override关键字。

    3.抽象类不能被实例化,我们应该清楚,他就是用来做基类的,他不能像独立的类那样被实例化。

  • 相关阅读:
    使用springamqp发送消息及同步接收消息
    对未登陆的用户进行处理的页面
    查找某些字符是否在另一个字符串里出现的高效算法
    正则表达式
    华中地区高校第七届ACM程序设计大赛——递增序列【2012年5月27日】
    HDOJ2021 ( 发工资咯:) ) 【水题】
    循环冗余校验(CRC)【C语言 位运算】
    HDOJ2028 ( Lowest Common Multiple Plus ) 【水题,lcm】
    HDOJ2015 ( 偶数求和 ) 【水题】
    HDOJ2027 ( 统计元音 ) 【水题】
  • 原文地址:https://www.cnblogs.com/lvqiang/p/12120105.html
Copyright © 2020-2023  润新知