Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

I denne delen skal du lage en klasse kalt TrainCar for en enkel og generell togvogn, med følgende funksjonalitet (se også diagrammet til høyre):

  • TrainCar(int) - en konstruktør som tar inn hvor mye en tom vogn veier.
  • int getTotalWeight - returnerer vognas totale vekt. Merk at denne også skal kunne kalles på subklasser og fortsatt returnere totalvekta toil til vogna (stikkord: redefinering).
  • setDeadWeight(int) - setter hvor mye en tom vogn veier. Altså vekten til kun vognen, uten passasjerer eller last.
  • int getDeadWeight() - returnerer hvor mye en tom vogn veier. Altså vekten til kun vognen, uten passasjerer eller last.
PlantUML Macro
class TrainCar {
	int getTotalWeight()
	void setDeadWeight(int)
	int getDeadWeight()
}

...

I denne delen skal du lage to forskjellige typer togvogner som er spesialiserte for sitt bruk. Begge skal arve fra TrainCar.
CargoCar extends TrainCar:

Denne klassen skal gjenspeile en lastevogn som frakter diverse ting og tang. Følgende funksjonalitet trengs (se også diagrammet til høyre):

  • CargoCar(int, int) - her tas inn hvor mye en tom vogn veier (som i TrainCar), og hvor mye vogna sin last veier.
  • int getCargoWeight() - returnerer hvor mye lasten veier.
  • setCargoWeight(int)  - setter en ny verdi for vekten til lasten.
PassengerCar extends TrainCar:

Denne klassen gjenspeiler en passasjervogn. Legg til følgende metoder (se også diagrammet til høyre):

  • PassengerCar(int, int) - her tas inn hvor mye en tom vogn veier (som i TrainCar), og hvor mange passasjerer det er i vogna. 
  • int getPassengerCount() - returner antall passasjerer.
  • setPassengerCount(int) - setter en ny verdi for antall passasjerer.

For å beregne totalvekta, så kan du anta at en gjennomsnittspassasjer veier 80 kg.

PlantUML Macro
class TrainCar {
	int getTotalWeight()
	void setDeadWeight(int)
	int getDeadWeight()
}
class CargoCar{
	CargoCar(int,int)
	int getCargoWeight()
	void setCargoWeight(int)
}
class PassengerCar{
	PassengerCar(int,int)
	int getPassengerCount()
	void setPassengerCount(int)
}
TrainCar <|--CargoCar
TrainCar <|--PassengerCar
 

...