サブクラスを作成します
一般的には、継承によって、より速く、簡単かつ低コストで再書き込みするために新しいアナロジーを作成します。継承は、ソフトウェアの再利用(ソフトウェアの再利用)のを支援するための方法の一つです。
プロセスは、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;
}
}