C#における集約(Aggregation)とは?基本概念とコード例を解説
C#における集約(Aggregation)とは
集約(Aggregation)とは、C#においてオブジェクト同士が持つ方向性のある関係を指す概念です。あるクラス(全体)が別のクラス(部分)を保持するという、「has-a」の関係として表現されます。
例えば、従業員(Employee)と住所(Address)の関係が代表的な例です。従業員は1つの住所情報を持ちますが、住所そのものは従業員に依存せず独立して存在できる点が特徴です。
集約の具体例:従業員と部署の関係
もう一つわかりやすい例として、従業員と部署の関係を挙げられます。1人の従業員は1つの部署に所属しますが、1つの部署には複数の従業員が在籍できます。このように、全体と部分の関係が一方通行になっているのが集約です。
コード例
以下は、EmployeeクラスがAddressクラスをフィールドとして保持する、集約の実装例です。
public class Address {
// 住所に関するプロパティやメソッド
}
public class Employee {
private Address addr;
// コンストラクタでAddressを受け取り、保持する
public Employee(Address addr) {
this.addr = addr;
}
// その他のメンバー
}このように、Employeeクラスの内部でAddress型のフィールドを持ち、コンストラクタ経由で受け取ることで、両者の間に集約関係が成立します。集約を活用することで、クラス間の依存を適度に保ちながら、柔軟で再利用しやすい設計を実現できます。
-
IPアドレスが「0.0.0.0」と表示される理由とは?意味と対処法を解説
IPv4(インターネットプロトコル バージョン4)で使用されるIPアドレスは、「0.0.0.0」から「255.255.255.255」までの範囲にあります。このうち「0.0.0.0」は、コンピューターネットワーク上でいくつかの特別な意味を持つアドレスですが、一般的なデバイスのアドレスとして使用することはできません。 プレースホルダーとしての役割 「0.0.0.0」は通常のIPアドレスと同じ構造(4つの数字の組み合わせ)を持っていますが、実際にはプレースホルダー(仮の値)であり、グローバルでもプライベートでもない、通常のアドレスが割り当てられていないことを示すために使われます。例えば、プロ
-
Raspberry PiのIPアドレスの調べ方!状況別の確認方法を徹底解説
はじめに:IPアドレスとは? ネットワーク上のすべての機器には、インターネットプロトコル(IP)アドレスが割り当てられています。IPアドレスは、ネットワーク上の多数のデバイスの中から特定の1台を識別するためのもので、まさに「住所」のような役割を果たします。ネットワーク上のデバイスへ接続したい場合は、そのIPアドレスを把握しておく必要がありますが、意外と見つけるのに手間取ることも少なくありません。 この記事では、ネットワークに接続されたRaspberry PiのIPアドレスを調べる方法を詳しく解説します。なお、Raspberry PiのIPアドレスはDHCPによって動的に割り当てられている場合が