您好我对这两个类有疑问,•总线(即需要存储的值和可采取的操作) •命令(即,什么类型的命令已经发布到什么总线以及什么值)我对于差异是什么感到困惑,总线类将具有自动移动的功能。但那么命令类是什么?我需要使用不同的类,因为这个被称为总线和其他命令。
Guidlines --- 你正在经营一家有四辆公交车的公交公司。这些总线将根据键盘输入提供的命令移动。要移动总线,您将从键盘发出命令,其中包含要移动的总线标识,方向和空格数。例如: B W 3 将公共汽车“B”移至西方的三个空间。所有巴士将从坐标(0,0)处的公交车站开始。 “N”正交命令会增加y坐标; “S”outh递减y坐标。 “E”ast命令递增x坐标,“W”est命令递减x坐标。 您还将接受接送人员的命令: D P 5 A D 2
答案 0 :(得分:0)
In trying to understand your question, I see a bus class also known as a bus object.
It is just like a physical bus with attributes like:
License plate number Capacity
And whatever other attributes make up that bus.
The command class if I am reading correctly is a class that can be inherited by bus, but it could also be inherited by other objects. If you had a bus object and a car object, they both have a license plate.
If a bus and a car had some different attributes, they would be different.
They could both inherit the command class however, and if the command class were to have a go function, they would both be able to go.
Abstraction and polymorphism can be tricky, but it is key to object oriented programming.
I hope this helps.
答案 1 :(得分:0)
仍然令人困惑,但我会试一试。如果这些是你的课程中唯一的两个课程,我认为该部门非常清楚。
Bus
将是class
,其中包含有关公交车的信息。它将使用成员variables
表示其在“地图”(x,y)上的位置,其中移动函数将更新这些成员变量。因此,当您致电busname.move(variables)
时,它会像您想要的那样移动并更新其位置。此外,它似乎有一个variable
代表有多少人在船上。
command
类完全不同,它将是您程序的主要控件。它将具有bus
类的实例作为其成员(A,B,C,D),它将解释来自键盘的命令以确定向bus
发出什么命令。例如,如果你在键盘上键入A W 3,公共汽车A应该知道如何移动到西三个空间?因为命令类将接受键盘输入并调用A.move(-3, 0)
或类似的东西来更新其位置。
希望这有帮助。