課題集8と9における継承と多態性の適用事例

概要 課題集8と9では,継承と多態性の応用に焦点が当てられました.主要な内容は以下の通りです: 航空貨物管理システムのクラス階層設計 ワイパー制御機構の拡張機能実装 点・線・平面オブジェクトの継承構造再構築 航空貨物管理システムの設計 入力仕様 顧客ID 顧客名 電話番号 住所 貨物数 [貨物ID 貨物名 幅 長さ 高さ 重量] * n 便名 出発空港 到着空港 日 ...

8月24日 18:26 投稿

ポリモーフィズムとカプセル化の実践

多相性の実装パターン 多相性は異なるオブジェクトが同一のインターフェースで異なる振る舞いを実現する仕組みです。例えば、形状計算の場面で円と四角形が共通メソッドで処理されるケースが典型例です。 形状計算の具体例 from abc import ABC, abstractmethod class GeometricShape(ABC): @abstractmethod def compute_area(self): pass class Circul ...

8月22日 02:32 投稿

Javaにおける抽象クラスの基本と応用

抽象クラスの基本概念 Javaプログラミングにおいて、抽象クラスはオブジェクト指向設計の中核的な要素です。abstractキーワードを使用して定義される抽象クラスは、直接インスタンス化できず、サブクラスによって実装されるべき共通の構造と振る舞いを定義します。 抽象クラスの定義と特徴 抽象クラスは抽象メソッドと具象メソッドの両方を含むことができます。抽象メソッ ...

7月24日 18:02 投稿

Pythonオブジェクト指向演習:ECプラットフォーム設計と注文管理システム

演習1:ECプラットフォームの商品クラス設計 ECプラットフォームを開発していると仮定し、商品情報を表す親クラス(Product)と、それぞれ書籍と衣類商品を表す2つの子クラス(Book、Clothing)を設計する必要があります。オブジェクト指向の思想とポリモーフィズムを使用して、これら3つのクラスを設計および実装してください。 要件: 親クラス(Product)は以下の属性 ...

7月23日 17:37 投稿

Javaプログラミングにおける重要な概念と注意点

ショートサーキット評価 論理AND演算(両方の変数が真の場合のみ結果が真)を行う際、最初の変数が偽であると判断された場合、後続の変数の評価は完全にスキップされます。 例: boolean result = (value < 4) && (value++ < 4); System.out.println(result); System.out.println(value); 出力結果: false 5 文字列連結演算子 + int x = 10; int y = 20 ...

7月20日 19:28 投稿

Javaにおけるオブジェクト指向プログラミングの仕組みと活用

オブジェクト指向プログラミング(OOP)の概要 オブジェクト指向プログラミングは、ソフトウェアシステムを「オブジェクト」という自律的な単位の集合としてモデル化する設計思想です。現実世界の事物や概念をオブジェクトとして表現し、それらの相互作用によってシステム全体を構築します。JavaにおいてOOPを理解する上で、中核となる3つの要素「カプセル化」、「継承」、 ...

7月19日 00:47 投稿

Javaにおけるポリモーフィズムの理解と実践

ポリモーフィズム(多態性)とは ポリモーフィズムは、オブジェクト指向プログラミングの核心概念の一つであり、同じインタフェースや基底クラスを通じて、異なるサブクラスの振る舞いを柔軟に扱うことを可能にします。つまり、「一つの型で複数の形を表現できる」仕組みです。 この特性により、コードの再利用性が高まり、拡張性のある設計が実現できます。基本的な実現 ...

7月3日 23:33 投稿

継承とポリモーフィズムの実践的な理解

インスタンスの型確認 以下のJavaコードはinstanceof演算子を使用して、オブジェクトの型を確認する方法を示しています。 public class InstanceCheckDemo { public static void main(String[] args) { Object obj = "Java"; System.out.println("Object型か:" + (obj instanceof Object)); // true System.out.println("String型か:" + (o ...

6月30日 17:59 投稿

避けられない課題:コード依存

11.1 オブジェクト指向の基本 11.1.1 カプセル化 オブジェクト指向プログラミングの基本となる概念の一つがカプセル化です。これは、データとそのデータを操作するメソッドを一つの単位(オブジェクト)にまとめ、外部に不必要な情報を隠蔽する仕組みです。 以下の例では、学生に関する情報をカプセル化したクラスを定義しています。 class Student { private Stri ...

6月6日 21:17 投稿

Javaにおけるinstanceof演算子の使い方と注意点

instanceofの基本機能 Javaのinstanceofは実行時型情報(RTTI)を用いて、オブジェクトが特定のクラスまたはそのサブクラスのインスタンスであるかを判定するための二項演算子です。戻り値はtrueまたはfalseのboolean型で、キャスト前の安全性確認に広く利用されます。 構文形式 boolean result = objectReference instanceof TargetType; objectReference:チェック ...

6月5日 23:23 投稿