zoukankan      html  css  js  c++  java
  • 关于Java抽象类的理解

    Java抽象类,可以包含抽象方法和非抽象方法,而接口只能包含抽象方法。

    抽象类属于既有骨架(抽象方法),也有血肉(非抽象方法)的概念。所以我认为抽象类的使用情景应该是这样:如果有这么一类事物,他们有很多共同的行为(方法),其中有一部分的具体行为(方法具体操作)是一摸一样的,有其他一些行为的具体实现不一样,那么可以将此类事物抽象出一个抽象类,将行为一样的方法置为非抽象方法,行为不一样的置为抽象方法,这些抽象方法的具体实现在具体的类中去做。

    就比如汽车分为自动挡汽车和手动挡汽车,他们在按喇叭、使用雨刷等方面的操作是一样的,而启动汽车、换挡等方面是不一样的,那么可以抽象出一个汽车类,将按喇叭、使用雨刷放在汽车抽象类的非抽象方法,将启动汽车、换挡由具体的手动挡或则自动挡类中去实现。

    那么这样,汽车中的相同操作就可以复用起来,同时又允许了可以实现不同的具体操作。

  • 相关阅读:
    IOI2000 回文字串
    洛谷 P2758 编辑距离
    NOIP2012普及第三题 摆花
    [SCOI2005]骑士精神
    [USACO1.5]八皇后 Checker Challenge
    Codeforces Round #637 (Div. 2) 题解
    核电站---两种DP解法
    POJ1077 八数码问题
    洛谷 P1162 填涂颜色
    jQuery火箭图标返回顶部代码
  • 原文地址:https://www.cnblogs.com/zhihow/p/10064789.html
Copyright © 2011-2022 走看看