T
Tony Johansson
Hello!
Below is an example from a book. The books is position method
NewFloorRequest in class Person.
What is your opinion about that in this example ?
How should I think here ? If I think who is pushing the button then it's
the Person and so it should be in class Person.
I also mean that it belong more logically to class Elevator.
Can somebody give me a guideline how I should think when trying to find a
suitable class for method
NewFloorRequest ?
using System;
class Elevator
{
private int currentFloor = 1;
private int requestedFloor = 0;
private totalFloorsTraveled = 0;
private Person passenger;
public void LoadPassenger()
{
passenger = new Person();
}
public void InitiateNewFloorRequest()
{
requestedFloor = passenger.NewFloorRequest();
Console.WriteLine("Departing floor: " + currentFloor);
+ " Traveling to floor: " + requestedFloor);
totalFloorsTraveled = totalFloorsTraveled + Math.Abs(currentFloor -
requestedFloor );
currentFloor = requestedFloor;
}
public void ReportStatistic()
{
Console.WriteLine("Total floors traveled: " + totalFloorsTraveled );
}
}
class Person
{
private System.Random randomNumberGenerator;
public Person()
{
randomNumberGenerator = new System.Random();
}
public int NewFloorRequest()
{
return randomNumberGenerator.Next(1,30);
}
}
class Building
{
private static Elevator elevatorA;
public static void Main()
{
elevatorA = new Elevator();
elevatorA.LoadPassenger();
elevatorA.InitiateNewFloorRequest();
elevatorA.InitiateNewFloorRequest();
elevatorA.InitiateNewFloorRequest();
elevatorA.InitiateNewFloorRequest();
elevatorA.InitiateNewFloorRequest();
elevatorA.ReportStatistic();
}
}
//Tony
Below is an example from a book. The books is position method
NewFloorRequest in class Person.
What is your opinion about that in this example ?
How should I think here ? If I think who is pushing the button then it's
the Person and so it should be in class Person.
I also mean that it belong more logically to class Elevator.
Can somebody give me a guideline how I should think when trying to find a
suitable class for method
NewFloorRequest ?
using System;
class Elevator
{
private int currentFloor = 1;
private int requestedFloor = 0;
private totalFloorsTraveled = 0;
private Person passenger;
public void LoadPassenger()
{
passenger = new Person();
}
public void InitiateNewFloorRequest()
{
requestedFloor = passenger.NewFloorRequest();
Console.WriteLine("Departing floor: " + currentFloor);
+ " Traveling to floor: " + requestedFloor);
totalFloorsTraveled = totalFloorsTraveled + Math.Abs(currentFloor -
requestedFloor );
currentFloor = requestedFloor;
}
public void ReportStatistic()
{
Console.WriteLine("Total floors traveled: " + totalFloorsTraveled );
}
}
class Person
{
private System.Random randomNumberGenerator;
public Person()
{
randomNumberGenerator = new System.Random();
}
public int NewFloorRequest()
{
return randomNumberGenerator.Next(1,30);
}
}
class Building
{
private static Elevator elevatorA;
public static void Main()
{
elevatorA = new Elevator();
elevatorA.LoadPassenger();
elevatorA.InitiateNewFloorRequest();
elevatorA.InitiateNewFloorRequest();
elevatorA.InitiateNewFloorRequest();
elevatorA.InitiateNewFloorRequest();
elevatorA.InitiateNewFloorRequest();
elevatorA.ReportStatistic();
}
}
//Tony