アフィリエイト広告を利用しています


スキル無しのシステムインストラクターから、システムエンジニアへの転身日記。
◇◆◇ 2013年取得資格
LPICレベル1
LPICレベル2
LPICレベル3 Core
LPICレベル3 Speciality 302
LPICレベル3 Speciality 303
LPICレベル3 Speciality 304

Cisco CCENT
Cisco CCNA

Java SE 7 Silver
Java SE 7 GOLD

OSS-DB Silver

◇◆◇ 2014年取得資格
HTML5 Professional レベル1

広告

posted by fanblog

JavaEEの前に復習をしてみる その12 継承を使ってみる。

こんばんは。Javaやりたい!と会社でことあるごとに呟いているshadeです。

ちょっと、サーブレットやJSPを触っていましたが、また本来のJavaに戻ってきました。
タイトルの意味がなくなってきましたが、ゆるく生暖かく見守ってください。
さて、Java SE Goldホルダーの私ですが、プログラミングスキルが低く、
半年も離れていたらすっかり忘れてしまいましたので、思い出しながら頑張ります。

今回は、継承です。
継承といえば、他のクラスの変数の値や、メソッドの処理をあたかも
自分が持っているかのように使える技術です。(そのほかにもたくさんありますが)
とりあえず、浅く思い出すために、またRPGワールドでやっていきます。

戦士さん…攻撃力が高いのが自慢です。
しかし、戦士である前に人間です。魔法使いさんも、勇者さんも人間です。
ここでは、戦士さんが、人間というクラスを継承する例を使ってみます。

まず、Humanというクラスを作ってみました。
メインメソッドを持っていないので、単体では実行はできません。
ただ、jobとattackpointの値を受け取って、コンソールに出力するだけのクラスです。

package test;

public class Human {
String job= "" ;
int attackPoint ;

public void attack(String job, int attackPoint){
System. out .println(job+"は持っている武器で" +attackPoint+ "のダメージを与えた" );
}

}

続いて、戦士を表すSolidierというクラスを作ってみました。
extends Human という記述で、人間クラスを継承しています。
Soldierクラスは、attackというメソッドを持っていませんが、
Humanクラスを継承することによって、attackというメソッドを呼び出すことができます。

package test;

public class Soldier extends Human {
private static String job= "戦士";
private static int attackPoint =10;

public static void main(String[]args){
Soldier sld = new Soldier();
sld.attack( job ,attackPoint );
}
}


結果は、以下の通り。

「戦士は持っている武器で10のダメージを与えた」

よって、魔法使いや勇者もHumanを継承することによって、attackメソッドを呼び出して攻撃ができます。

うっかり、以下のようなGoblinクラスを継承すると、

package test;

public class Goblin {
int attackPoint ;
public void attack(String job, int attackPoint){
System. out .println(job+"は噛みついて" +attackPoint+ "のダメージを与えた" );
}

}



「戦士は噛みついて10のダメージを与えた」
のように、継承した先のattackの内容に変わってしまいます。
人型の戦士ではなく、ゴブリン型の戦士になったので、もはや敵キャラになってしまいました。

継承という技術は便利で、これは初歩中の初歩です。
自分が作ったクラスを継承するのはもちろん、CoreAPIのような既存のクラスを継承して作業をすることもできます。
むしろ、実務ではそういう技術が必要なので、CoreAPIを普段から読んでおくことが必要なんです
タグ:基礎 継承 Java

トラックバック

この記事へのトラックバックURL
※ブログオーナーが承認したトラックバックのみ表示されます。
https://fanblogs.jp/tb/2185514

コメント

お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのコメント

はびさん

いえいえ。教えてもらってありがとうございます。
いつの間にか直っていたようです。
shade|2014年02月05日(Wed) 22:12
Shade さん

おはようございます病床より Habitat ですっ
なんか、粗探ししたみたいなコメになったんで、ごめんね
さしおり、重篤な問題じゃないからそこまで気にしなくてもいいんでしょうけどね

新しかったのが、新鮮で夢中でバチバチクリックしまくっちゃったww
Habitat|2014年02月04日(Tue) 09:28
はびさん

おはようございます。
はい、自分でもプチリニューアルしてみました。
ネットワークカテゴリのところ、
そうなんですよ。変にキャッシュが残っていたり、新しいコメントが表示されない箇所があるんですよね。
そこまでは、カスタマイズできないので、ファンブログのバグ的なものだと思います。
とても残念です。
shade|2014年02月04日(Tue) 07:55
Shade さん

こんにちは Habitat です

うわーPC版のタトイル周りがかっこよくなってる
上部のカテゴリメニューもいい感じで、どんどん進化してますね
私もそろそろ、ちょっと使い勝手も考えなきゃなぁ

あっあと、気づいた点で・・
トップのカテゴリでネットワークたたいた時だけ、
タイトル下の(資格取得履歴)情報表示と、
カテゴリアーカイブのjava のカウントが変わるみたい
Habitat|2014年02月03日(Mon) 10:43
   
×

この広告は30日以上新しい記事の更新がないブログに表示されております。