我目前正在开发一个模拟酒店的应用程序。通过反序列化的JSON文件加载酒店。 JSON文件存在于所有特殊房间(如下所列)之外,如果缺少坐标,则为走廊。
示例: 假设有3种不同类型的房间: -卧室 - 餐厅 -存储
每个房间都有X和Y位置和尺寸。卧室具有评级,餐厅具有菜单,储藏室具有储物空间。
因此,给定JSON文件的一部分类似于:
{"RoomType" : "Bedroom", "Position" : "1, 2", "dimensions" : "1, 1", "rating" : "3 stars"},
{"RoomType" : "restaurant", "Position" : "2, 3", "dimensions" : "2, 1"} //menu not important
我从抽象类Room
开始,并希望根据JSON文件中的信息创建适当的子类。
我如何做到这一点,以便在适当的位置创建适当的房间,或者有更好的方法呢?请在代码中添加简短说明。
编辑:使用工厂模式是另一种选择。