Dziedziczenie, wiele obiektów.

0

Witam.
Mam problem z zadaniem. Moim zadaniem jest utworzyć klasę Firma, która posiada wiele Pojazdów. Przy testach dodać odpowiednią liczbę
pojazdów każdego typu (np. po 100) odpowiednim generatorem. Utwórz metody:
a. Znaleźć pojazd o podanym identyfikatorze (zwróć referencję do niego)
b. Dodać nowy pojazd danego typu
c. Usunąć pojazd o określonym identyfikatorze
d. Obliczyć koszt utrzymania pojazdu o podanym identyfikatorze na podstawie liczby km
oraz liczby godzin.
Mam stworzone już 4 klasy: Pojazd - klasa główna i 3 klasy potomne (auto, kolej,samolot). Jakie metody(funkcje) muszę zawrzeć w klasie Firma aby utworzyć wiele różnych typów pojazdów 'na raz'.
Pozdrawiam!

0

W treści zadania nie ma nic wspomniane, że to obiekt Firma ma się zajmować tworzeniem pojazdów.

0

To w takim razie jak mam rozwiązać to zadanie?

0

Skorzystać z wzorca Factory.
Na przykład możesz stworzyć metodę która zwraca referencję na abstrakcyjny obiekt a w środku losuje którą implementacje ma wytworzyć Losujesz inty z zakresu 0-2 i na tej podstawie tworzyć nowy obiekt

0

Tworzysz klasę Firma.

Tworzysz klasę Pojazd

Tworzysz klasę Samochod: Pojazd

Tworzysz klasę Samolot: Pojazd

Tworzysz klasę Statek: Pojazd

Tworzysz enum RodzajPojazdu
{
Samolot,
Samochod,
Pojazd
}

W klasie Firma tworzysz:

  • pole List<Pojazd> _Pojazdy;

  • metodę DodajPojazd(Pojazd _pojazd)
    a w niej _Pojazdy.Add(_pojazd);

  • metodę Dodaj100Pojazdow(RodzajPojazdu rodzaj)
    {
    for (int i=0; i<100; i++)
    {
    switch(rodzaj)
    {
    case rodzaj.Samochod: DodajPojazd(new Samochod());
    break;
    case rodzaj.Statek: DodajPojazd(new Statek());
    break;
    case rodzaj.Samolot: DodajPojazd(new Samolot());
    break;
    }
    }
    }

0

Oczywiście jest pomyłka w enum
Powinno być

Tworzysz enum RodzajPojazdu
{
Samolot,
Samochod,
Statek
}

0

Z resztą metod z pewnością sobie poradzisz.

Pamiętaj tylko, że to takie programowanie "szkolne".

W prawdziwym programowaniu dodanie do klasy Firma metod tworzących Pojazdy byłoby nie do pomyślenia, powinna tym się zajmować osobna klasa, jak już wspomniano wyżej - Factory.

Obliczanie kosztów powinno odbywać się w klasie ObslugaPojazdu, w której pobierzesz z klasy Firma koszt paliwa do wyliczenia kosztów oraz pojazd, dla którego mają być wyliczone koszty.

ObsługaPojazdu może być częścią (polem) klasy Firma.

1 użytkowników online, w tym zalogowanych: 0, gości: 1