[JavaとSpringBootで始まるWebプログラミング]3週間学習-3(抽象クラス)


抽象クラス


抽象クラスとは?

  • クラス
  • 抽象メソッドを含む
  • 抽象メソッド:実装コードがなく、宣言メソッド
  • のみ
  • 抽象予約語の使用
    抽象クラスはnew(インスタンス化)できません
  • 抽象クラスの実装

    public abstract class Computer {
      public abstract void display();
      public abstract voud typing();
    }
  • メソッドおよびクラスで抽象キーワード
  • を使用する
  • 抽象メソッドを含むクラスは抽象クラス
  • として宣言される.
    すべての方法が実施されても、クラスでabstractキーワードを使用する場合、抽象クラス

    抽象クラスの使用

  • 抽象クラスは主に継承の親として使用される
  • 抽象メソッド:サブクラスが実装しなければならないメソッド
  • 実装方法:サブクラス汎用機能方法
  • テンプレートメソッド

  • テンプレート:フレームまたはサンプルを表す
  • テンプレートメソッド:抽象メソッドまたは実装メソッドを使用して全体的なプロセス(シナリオ)を定義するメソッド
  • 、finalと宣言し、再定義は許可されません
  • テンプレートメソッドモード
  • 設計モードの一種
  • フレームワークでよく使用される設計モード
  • として宣言する抽象クラスのコンテキストクラスでは、抽象メソッドを使用して実施プロセス全体を定義し、各特定のメソッド実施をサブクラス
  • に委任する.
  • サブクラスは異なる実施を実施し、テンプレート方法で定義されたスキームに従って
  • を実行する.

    テンプレート方法の実施例

    public abstract class Car {
      public abstract void drive();
      public abstract void stop();
      
      public void startCar() {
        System.out.println("시동을 켭니다");
      }
      
      public void turnoff() {
        System.out.println("시동을 끕니다.");
      }
      
      /* 템플릿 메서드 */
      final public void run() {
        startCar();
        drive();
        stop();
        turnoff();
      }
    }

    最終定語

  • final変数は可変定数
  • である
  • は、1回の値
  • のみを割り当てる.
  • finalメソッドは、サブクラスで
  • を再定義できません.
  • finalクラスは
  • を継承しません.