トップ 言語 Java クラス、メソッド、インターフェース Javaの継承機能

Javaの継承―食品クラスのサンプルプログラム、賞味期限表示の例など

食品クラスのサンプルプログラム、賞味期限表示の例を用いて、Javaの継承機能について説明しています。

継承とは

継承とは、既存のクラスの属性と操作を受け継いで新しいクラスを作成することをいいます。

既存のクラスはスーパークラスと呼ばれ、新しいクラスはサブクラスと呼ばれます。 UMLなどオブジェクト指向の汎用的な言葉では、属性と操作、状態と振舞いなどといいますが、 Javaのプログラムなどでは、この属性はメンバ変数などのフィールド、操作はメソッドのことをさします。

Javaの継承機能

継承を行う機能は、オブジェクト指向プログラミングの基本機能です。 Javaで継承を使用するには以下のように記述します。

class サブクラス名 extends スーパークラス名 {
:
}

Javaの継承機能を使うには、クラスを別のクラスから派生するためのキーワードとして、extendsキーワードを使います。 この機能によって、プログラマは、既存のクラスをもとに新たにクラスを記述できます。

サブクラスはスーパークラスのメンバを継承するため、差分をコーディングするだけで、スーパークラスの機能を持った新たなクラスを作成することが出来ます。

また、C++とは異なり、Javaでは多重継承は行えず、単一継承のみ対応しています。 なので、Javaの場合は、直接2つ以上のクラスを継承することが出来ません。

ただし、あるクラスを基にサブクラスを生成し、さらにそのクラスを基に新しいサブクラスを生成するというように階層構造での継承は許されています。

サンプルプログラム―商品と食品クラス、賞味期限表示の例

以下は、Javaの継承のサンプルプログラムです。 商品を表すスーパクラスを継承した食品を表すサブクラスを作成して、商品の価格や食品の賞味期限を表示するサンプルプログラムです。

サンプルプログラム1―商品を表すスーパークラス

商品を表すスーパークラスのサンプルプログラムです。 ファイル名はShouhin.javaになります。

public class Shouhin {   
    private String name;    // 商品名
    private int price;        // 商品価格
    /* 商品名の操作 */
    public String getName() {
        return name; 
    }
    public void setName(String name) {
        this.name = name; 
    }
    /* 商品価格の操作 */
    public int getPrice() {
        return price; 
    }
    public void setPrice(int price) {
        this.price = price; 
    }
}

サンプルプログラム2―食品を表すサブクラス

食品を表すサブクラスのサンプルプログラムです。 ファイル名はShokuhin.javaになります。

public class Shokuhin extends Shouhin {
    private String shoumikigen;//賞味期限
    
    /* 賞味期限の操作 */
    public String getShoumikigen(){
        return shoumikigen;
    }
    public void setSyoumikigen(String kigen){
        shoumikigen = kigen;
    }
}

サンプルプログラム3―商品の価格、食品の賞味期限を表示するメインクラス

商品の価格、食品の賞味期限を表示するメインクラスのサンプルプログラムです。 ファイル名はScreenOutputOfShouhin.javaになります。

public class ScreenOutputOfShouhin {
    public static void main(String[] args){
        /* Syouhinクラス(スーパークラス)を使う */
        Shouhin A = new Shouhin();
        A.setName("商品A");
        A.setPrice(100);
        System.out.println(
            A.getName() + "は" + 
            A.getPrice() + "円です。"
        );
        /* Shokuhinクラス(サブクラス)を使う */
        Shokuhin B = new Shokuhin();
        B.setName("食品B");
        B.setPrice(200);
        B.setSyoumikigen("明日まで");
        System.out.println(
            B.getName() + "は" +
            B.getPrice() + "円で賞味期限は" + 
            B.getShoumikigen() + "です。"
        );
    }
}

サンプルプログラムのコンパイル

javac *.java

サンプルプログラムの実行

java ScreenOutputOfShouhin
商品Aは100円です。
食品Bは200円で賞味期限は明日までです。

もっと知識を広げるための参考

戻る

スポンサーリンク

サイト内のページ

言語
C・C++ /HTML /Java /JavaScript /PHP /シェルスクリプト

開発環境
Ant /Bcc /Eclipse /gcc /gdb /g++ /JDK /JUnit /ZAP

技術・仕様
Ajax /CORBA /Java EE(旧称J2EE) /JNI

ライブラリ/Framework/CMS
jQuery /Lucene /MyBatis /RESTEasy /Spring /Struts /Seasar2 /WordPress

ITインフラ OSとミドルウェア
Linux /Windows /シェル
Apache/Tomcat /MySQL /Redis /Solr /vsftpd

ITインフラ PC 製品
ZOTAC

ITインフラ サーバー
Web公開サーバー構築

ITインフラ ネットワーク
プログラミング /機器 /構築

ITインフラ セキュリティ
公開サーバーのセキュリティ

SI
ホームページの作り方 /小さな会社のISMS

その他
IT用語 /ITスキル体系 /トレンド履歴

スポンサーリンク