Javaの19は継承された。サブクラス化を

サブクラスを作成します

一般的には、継承によって、より速く、簡単かつ低コストで再書き込みするために新しいアナロジーを作成します。継承は、ソフトウェアの再利用(ソフトウェアの再利用)のを支援するための方法の一つです。

プロセスは、2つのクラス間の連続を確立することである関係「である」、と親クラスのバージョンのより具体的なサブクラスです。

 

パブリック クラス言葉
{ 
   // -------------------------------------------- ---------------------
    //   派生クラスをインスタンス化し、その継承とネイティブメソッドを呼び出す
    // ------------- -------------------------------------------------- - 
   パブリック 静的 ボイドメイン(文字列[]引数)
   { 
      辞書ウェブスター = 新しい新しい辞書(); 

      のSystem.out.println( "数のページ:" + webster.getPages()); 

      のSystem.out.println(の「ナンバー定義: "+ 
                         webster.getDefinitions()); 

      System.out.printlnは( "定義あたりのページ:「+
                         webster.computeRatio())。
   } 
}
パブリック クラス
{ 
   保護された int型のページを= 1500 ; 

   // ------------------------------------------------ ----------------
    //   ページのミューテータ。
   // ------------------------------------------------ ---------------- 
   公共 のボイド setPages(int型NUMPAGESを)
   { 
      ページ = NUMPAGES。
   } 

   // ----------------------------------------------- -----------------
    //   ページアクセサ。
   // ------------------------------------------------ ---------------- 
   公共の int型getPages()
   { 
      戻りページ。
   } 
}
パブリック クラス辞書拡張ブック
{ 
   プライベート int型の定義= 52500 ; 

   // ------------------------------------ -----------------------------
    //   ローカル値と継承値の印刷メッセージを使用しています。
   // ------------------------------------------------ ----------------- 
   公共 ダブルcomputeRatio()
   { 
      リターンダブル)定義/ ページ; 
   } 

   // ---------------- ------------------------------------------------
    // 定義されたミューテータ。
   //----------------------------------------------------------------
   public void setDefinitions(int numDefinitions)
   {
      definitions = numDefinitions;
   }

   //----------------------------------------------------------------
   // 定义访问者。
   //----------------------------------------------------------------
   public int getDefinitions()
   {
      return definitions;
   }
}

super引用

在一个类中可以使用保留字super引用父类,及使用super引用可以访问父类成员。

public class Words2
{
   //-----------------------------------------------------------------
   //  实例化派生类并调用其继承的和本地方法
   //-----------------------------------------------------------------
   public static void main(String[] args)
   {
      Dictionary2 webster = new Dictionary2(1500, 52500);

      System.out.println("Number of pages: " + webster.getPages());

      System.out.println("Number of definitions: " +
                         webster.getDefinitions());

      System.out.println("Definitions per page: " +
                         webster.computeRatio());
   }
}
public class Book2
{
   protected int pages;

   //----------------------------------------------------------------
   // 构造函数:使用指定的数量设置书籍页面
   //----------------------------------------------------------------
   public Book2(int numPages)
   {
      pages = numPages;
   }

   //----------------------------------------------------------------
   //  Pages mutator.
   //----------------------------------------------------------------
   public void setPages(int numPages)
   {
      pages = numPages;
   }

   //----------------------------------------------------------------
   //  Pages accessor.
   //----------------------------------------------------------------
   public int getPages()
   {
      return pages;
   }
}
public class Dictionary2 extends Book2
{
   private int definitions;

   //-----------------------------------------------------------------
   //  构造函数:使用指定的数字设置字典页面和定义。
   //-----------------------------------------------------------------
   public Dictionary2(int numPages, int numDefinitions)
   {
      super(numPages);

      definitions = numDefinitions;
   }

   //-----------------------------------------------------------------
   //  使用本地值和继承值打印消息。
   //-----------------------------------------------------------------
   public double computeRatio()
   {
      return (double) definitions/pages;
   }

   //----------------------------------------------------------------
   //  定义mutator。
   //----------------------------------------------------------------
   public void setDefinitions(int numDefinitions)
   {
      definitions = numDefinitions;
   }

   //----------------------------------------------------------------
   //   定义accessor。
   //----------------------------------------------------------------
   public int getDefinitions()
   {
      return definitions;
   }
}

 

おすすめ

転載: www.cnblogs.com/H97042/p/11028207.html