Java 19 inherited. Subclassing

Creating a subclass

In general, through inheritance to create a new analogy to re-write faster, easier and less costly. Inheritance is one of the ways to support software reuse (software reuse) of.

The process is to establish a succession between the two classes "is" relationship, and is a more specific sub-class of the parent class version.

 

public  class Words 
{ 
   // -------------------------------------------- ---------------------
    //   instantiate the derived class and calls its inherited and native method
    // ------------- -------------------------------------------------- - 
   public  static  void main (String [] args) 
   { 
      the Dictionary Webster = new new the Dictionary (); 

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

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

      System.out.println ( " per the Definitions Page: "+
                         webster.computeRatio());
   }
}
public class Book
{
   protected int pages = 1500;

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

   //----------------------------------------------------------------
   //  Pages accessor.
   //----------------------------------------------------------------
   public int getPages()
   {
      return pages;
   }
}
public  class the Dictionary the extends Book 
{ 
   Private  int Definitions = 52500 ; 

   // ------------------------------------ -----------------------------
    //   use local values and inheritance value print messages.
   // ------------------------------------------------ ----------------- 
   public  Double computeRatio () 
   { 
      return ( Double ) Definitions / Pages; 
   } 

   // ---------------- ------------------------------------------------
    // defined mutator.
   //----------------------------------------------------------------
   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;
   }
}

 

Guess you like

Origin www.cnblogs.com/H97042/p/11028207.html