実装の確認 これまで、Javaのオブジェクト指向とポリモーフィズムの実現を学習し 動的なメソッドやクラスの継承、インターフェイスを覚えました Java言語はポリモーフィズムをサポートするオブジェクト指向型言語です これは、Cとは違ってコンパイル時にデータ型が決定されません メソッドのオーバーライドでは、実行時にデータ型が決定されます しかし、そのデータ型が実際に何を指しているのか知る必要が出てくる場合があります そのような場合instanceof演算子が有効です instanceof演算子は、次のような書式を持ちます var instanceof type varには変数名を、typeにはクラスやインターフェイス名を指定します varがtypeで指定されたクラスやインターフェイスを実装していればtrueが返されます 実装していなければfalseが返されます この機能から、やはり一般的には制
正しく意味を理解している方にとっては、まったく常識レベルの話であり、何をいまさらと思われる方々も多いかと思いますが、大規模案件のレガシーコードなど、私が仕事で見かけるJavaのコードを読むと、「このコードを書いたSEやPGの方々は、はたして継承の意味を正しく理解していないのではないか」と思われる設計のコードに出会うことが少なからずあります。現在では改良されましたが(Javaプログラミング能力認定試験の問題がかなり改善されていました - 達人プログラマーを目指して)、以前のJavaプログラム認定試験の問題は、そうした不適切な設計がされている典型的な例となっていたのですが、実際、SI業界ではあのような品質のコードのシステムが今でも現役で多数稼動しているというだけでなく、現在でも新たに生み出されているというのは残念ながら紛れもない事実のようなのです。 確かに新人研修で「哺乳類を継承して犬クラスと
Java講座 1. ケアレスミスを減らす章 1.1. while ループより for ループ 1.2. 配列を返すメソッド 1.3. チェーンコンストラクタ 1.4. キャッチした例外は必ず使う 1.5. リテラルの比較 1.6. 列挙型の定義 2. 堅牢性を獲得する章 2.1. ユーティリティクラス 2.2. フィールドの可視性 2.3. メソッドの可視性 2.4. クラスの可視性 2.5. 配列フィールド定数 3. 拡張性/柔軟性を獲得する章 3.1. ファクトリーメソッド 3.2. 怠惰な初期化 3.3. 継承はカプセル化を壊す 3.4. 継承の悪い例 3.5. 継承の良い例 3.6. インターフェースの不要な修飾子 3.7. インターフェースで定数定義 3.8. 改行コード 3.9. データの入れ物として使わない 4. 知っていると便
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く