忍者ブログ
ゲームや漫画はたまた現状の日記と幅広くそして浅く行こうと思います☆ 海外ドラマのレバレッジ、リスナー、ボーンズを観てます。 ゲームは、マイクラが主に語ります。 漫画は主に感想です。 PCのことについても語っています。
Calendar
<< 2024/11 >>
SMTWTFS
12
3456 789
10111213 141516
17181920 212223
24252627 282930
Recent Entry
Recent Comment
Category
100   99   97   98   96   95   94   93   92   91   90  
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

はんいちって読んでw

ネタは昨日書いたからな~。
昨日、メンテナンスまであと数十分って感じで急いで書いた。
いや、打ったの方が正しいのか?



ふと・・・・。そういや、聖剣伝説が発売だネェ~。
・・・・やる暇あるのかを考えてみた・・・・。
なくねぇ?まあ、あったとしても最初の方で後半、もっぱら仕事なんだが・・・どうする自分!(ぁ
まあ、年明けリャ~どうにかにゃんべ~(ぁ

拍手[0回]


◆メソッドのオーバーライドとアクセス修飾子protected
特定のサブクラスで同一のメソッドを再定義する。
スーパークラスメソッドにある定義をサブクラスで再度定義する

◆オーバーライドの使用方法
スーパークラス内に定義されているAPI(「戻り値」「メソッド名」「パラメータ宣言リスト」の組み合わせ)が完全に一致するメソッドをサブクラスに定義する。

◆アクセス修飾子protected
サブクラスと同じパッケージ内のクラスから可能

スーパークラスの定義
private データ型 参照変数名;
protectedにするとこの記述でもコンパイルエラーにならずに済む
public データ型 get+メソッド名()
{
 return this.メソッド名;
}
サブクラスの定義
public データ型 get+メソッド名()
{
 return this.メソッド名[やりたいちょっとした処理など今回は-1925];
}

〇privateだと同じクラス内(スーパークラスならそれだけ)からしか呼び出すことが出来ない。
〇継承はされているのが、privateだとアクセスできないがprotectedだとアクセスが可能となる。

アクセス修飾子と
UML記号
概要アクセ
シビリティ
private-同一クラスのメンバーからのみアクセス可能弱い(低い)






強い(高い)
無指定~同一パッケージで定義されたクラスのメンバーからアクセス可能
protected#サブクラスと
同一パッケージで定義されたクラスのメンバーからアクセス可能
public+全てのクラスのメンバーからアクセス可能


◆キーワードsuper
if(条件式)
{
 return super get + メソッド名();  //スーパークラスにあるメソッドを呼び出す
}
else
{
 return this.get + メソッド名();  //自分のクラスにあるメソッドを呼び出す。
}

◆オーバーライドとオーバーロード
概要目的場所
オーバーライド
同じ名前で内容が違う
API(戻り値のデータ型とシグニチャー)が一致するメソッドを定義することスーパークラスから継承したメソッドをサブクラス独自の処理内容に再定義するサブクラス
オーバーロード
違うAPIだけど内容は同じことをする
同じ名前でパラメータ変数宣言がことなるメソッドを定義すること同じ名前処理内容のメソッドに異なるパラメータでバリエーションを持たせるサブクラス
または
同一クラス


◆継承とオーバーライドに関する制限
クラス宣言の際にキーワードfinalが指定されたクラスを継承したサブクラスには定義できない

※スーパークラスでfinal指定をするとサブクラスではオーバーライドの定義をすることが出来ない

サブクラスでfinalをするとあまり意味がないがサブクラスがスーパークラスの扱いにすると必要になる
スーパークラス
↑     ↑
サブクラス サブクラス//finalを指定したクラス有り
↑      ↑
サブクラス サブクラス//finalで指定したクラスをオーバーライドすることが出来ない

◆is-a関連
サブクラス is a kind of スーパークラス(サブクラスはスーパークラスの一種である)

◆スーパークラス型の参照変数へサブクラスが他のインスタンスオブジェクトのアドレスを代入する形式
スーパークラス名 参照変数名 = new サブクラス名(パラメータ);
                   サブクラス型のインスタンスオブジェクトの生成

スーパークラス方にサブクラス方を代入させることが出来るが、アドレスだけ
インスタンスオブジェクトは個々のサブクラス型。

スーパークラス型 参照変数 = new サブクラス型();
参照変数.get + サブクラスメソッド;
スーパークラス型で呼び出すためサブクラス独自のメソッドは呼び出せずにコンパイルエラーとなる

※サブクラスで宣言されたインスタンスフィールドへのアクセス制限が勝手にかけられるがサブクラスインスタンスオブジェクトは散在している。

((サブクラス型)参照変数).get + サブクラスメソッド();
ダウンキャスト
 スーパークラス型の参照変数をサブクラス型にキャスト変換
スーパークラスから格下げと言う意味で

◆演算子 instanceof
指定したクラス名とインスタンスオブジェクトのデータ型を比較し一致していたらtureそうでない場合はfalseを解とする。
参照変数名 instanceof クラス名
戻り値 bolean型
PR

コメント
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
トラックバック
この記事にトラックバックする →
メニュー

ブログ内検索
Template & Icon by kura07 / Photo by Abundant Shine
Powered by [PR]
/ 忍者ブログ