gpt4 book ai didi

C# - 实例化其他类的类?

转载 作者:太空狗 更新时间:2023-10-29 22:33:21 24 4
gpt4 key购买 nike

我是一名 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。完成我想要做的事情的最好/最干净的方法是什么?还有,这个叫什么?我在谷歌上搜索了很多术语——类属于另一个类,从另一个类实例化一个类,类似的术语与对象而不是类……我也查看了一些电梯模拟器代码,但找不到任何像我正在寻找的动态...

最佳答案

有一个 List<Elevator>用在这里很合适;它很好地描述了现实世界的模型。

如果它是 Elevator[] 或许会更好(从某种意义上说,也许在建筑物竖立之后就不可能改变安装的电梯数量),但这不是绝对的。

在任何情况下,电梯的集合都应该作为适当类型的只读属性公开,因为将它与另一个交换是没有意义的。

关于C# - 实例化其他类的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12735692/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com