私はC#の初心者であり、クラスが互いにどのように関連しているかについて少し苦労しています。
非常に単純なエレベータシミュレーションをコーディングしようとしています。私はエレベーターのクラスを持っています:
class Elevator
{
public int currentFloor;
public Elevator()
{
currentFloor = 0;
}
public void ascend()
{
currentFloor++;
}
public void descend()
{
currentFloor--;
}
}
とてもシンプルです。これは機能します。新しいエレベータオブジェクトをインスタンス化して、上下させることができます。
ここで、建物オブジェクトを作成したいので、Buildingsの新しいクラスを作成しました。しかし、私は今立ち往生しています-建物にさまざまな量のエレベータオブジェクトを追加するにはどうすればよいですか?たとえば、3つのエレベータを備えた建物、または5つのエレベータを備えた別の建物をインスタンス化することができます...
建物のクラスに動的に追加できるエレベータのリストがあるソリューションを作成し始めましたが、それはとても鈍いようです。だから私が探しているのは次のようなものです:
Building office = new Building();
office.elevator1 = new Elevator();
office.elevator2 = new Elevator();
Buildingクラスでelevator1とelevator2が宣言されていないため、これは明らかに機能しません。私がやろうとしていることを達成するための最良/最もクリーンな方法は何ですか?また、これは何と呼ばれていますか?私はたくさんの用語をグーグルで検索しました-クラスは別のクラスに属し、別のクラスからクラスをインスタンス化し、クラスの代わりにオブジェクトを使用して同様の用語を作成しました...エレベーターシミュレーターのコードもいくつか調べましたが、見つかりませんでした私が探しているようなダイナミックなもの...