publi class Person
{
private String name;
public String getName(){ return name; }
public void setName(String newName)
{
if(newName.length() > 0) { name = newName; }
}
}
getter はprivate instance field を getできるようにするもの。
setter はpublic (String/double/picture..) getHogeの値をセットするものです。
public void setDriverName(String newName)
{
driverName = newName;
}
public String getDriverName()
{
return driverName;
}
static method:staticメソッドはインスタンスではなく「クラスに属するメソッド」のため、インスタンスを作らずに直接呼び出すことができる。
public Person(String name)
{
this.name = name;
friends = new ArrayList<Person>();
lastAssignedId++;
id = lastAssignedId;
}
public boolean tryToAdd(Person p)
{
if(passengers.size() + 2 < numberOfSeats && p.getDestination() <= destination);
{
passengers.add(p);
return true;
}
else
{
return false;
}
}
public void drive()
{
location++;
while (i < passengers.size())
{
Person p = passengers.get(i);
if (p.getDestination() == location)
{
passengers.remove(i);
}
else
{
i++;
}
}
}
public void loadPassengers()
{
for (Person p : people)
{
boolean added = false;
for (int i = 0; !added && i < cars.size(); i++)
{
added = cars.get(i).tryToAdd(p);
}
}
}
public void driveCars()
{
while (cars.size() > 0)
{
for (int i = 0; i < cars.size(); i++)
{
Car c = cars.get(i);
c.drive();
if (c.hasArrived())
{
cars.remove(i);
}
else
{
i++;
}
}
}
}