zoukankan      html  css  js  c++  java
  • 面向对象深入:继承03——抽象类

    11.4 抽象类——只能作为父类存在,天生当爸爸的

    抽象类不同于一般的类,它不能生成对象,只能作为父类存在。

    抽象类具有高度抽象的特征,为所有子类提供统一的抽象方法

    11.4.1 创建抽象类——关键字abstract

    abstract所修饰的类为抽象类。

    抽象类是只有定义而无法实现对象的类。

    抽象类中只关心所应实现的功能。

    abstract class Dog
    {
        //抽象类类体
    }
    
    抽象类无法产生对象,下面的语句是错误的
    Dog d = new Dog();

    11.4.2 抽象方法

    abstract 修饰的方法为抽象方法。

    抽象方法在形式上仅有方法的方法头部分,没有方法体

    abstract void out();

    抽象方法是只定义了功能而未能具体实现的方法,这决定了抽象方法只能在父类派生子类时才能通过覆盖实现

    ******

    抽象类中可以没有抽象方法,但抽象方法所在的类必须是抽象类。

    ******

    如果由抽象类派生出一个非抽象的子类,因为非抽象子类可以创建对象,所以在子类中必须覆盖掉父类(抽象类)中所有的抽象方法,否则,只能将子类定义为抽象类。

    ******

    public class Example1108
    {
        public static void main(String[] args)
        {
            SonClass sc = new SonClass();
            sc.out();
        }
    }
    
    abstract class SuperClass    //抽象类
    {
        abstract void out();
    }
    
    class SonClass extends SuperClass    //子类继承抽象父类
    {
        public void out()                    //子类实现父类的抽象方法
        {
            System.out.println("SonClass");
        }
    }

    我们在写大型程序时,一般先设计最顶层、最抽象的类和方法,然后逐步实现细节化的类和方法。这种设计方法由粗到细,容易分析和理解。

  • 相关阅读:
    为初学者解释下命名空间
    面向对象的思想
    SELECT查询结果集INSERT到数据表
    SQL Server事务
    Sql Server中的谓词和运算符
    SQL查询语句执行的逻辑顺序
    浏览器中的流
    CSS盒子模型
    ArcGIS提取水系并进行生态敏感性分析
    ENVI提取水系并进行生态敏感性分析
  • 原文地址:https://www.cnblogs.com/jolene-wu/p/8288715.html
Copyright © 2011-2022 走看看