Zastanów się, czy mam pewne abstrakcyjne klasy i samochody, ciężarówki, motocykle klasy abstrakcyjne, które wywodzą się z Vehicle
, abstrakcyjnychVehicle
. Wyobraź sobie również, że muszę być w stanie stworzyć oparty na paliwie samochód lub samochód elektryczny i tak dalej dla ciężarówek i motocykli. (beton klasy)Jak utworzyć polimorficzną metodę z różnymi sygnaturami?
dwa pytania:
1.Consider że chcę wypełnić energię w pojeździe, nie wiedząc, co to jest, w sposób polimorficznych. Na przykład, jeżeli pojazd jest w oparciu paliwa Chcę wypełnić go z paliwa i metoda powinna być z 3 parametrów:
void FillUpEnergy(EfuelType i_fuelType,int amounOfEnergy, int maxAmountOfEnergy)
ale electricy oparty pojazdu muszę prawie taką samą signture funkcji, ale tym razem bez rodzaju paliwa Oczywiście, dla przykładu (2) parametry:
void FillUpEnergy(int amounOfEnergy, int maxAmountOfEnergy)
mogę zrobić polymorhic FillUpEnergy
metodę z powyższych ograniczeń? (podpisy inną metodę'S)
2.In moim realizacji wszystkich konkretnych klas posiadać odniesienie do Engine
(inna klasa abstrakcyjna), które reprezentują FuelEngine
lub ElectricEngine
(inne konkretne zajęcia mam, które wynikają z silnika). Na przykład mam konkretną klasę o nazwie ElectricCar
, która zawiera odniesienie do ElectricEngine
.
Czy ta architektura jest wystarczająco dobra, czy istnieją lepsze sposoby na wdrożenie systemu garażowego? (chodzi o projektowanie obiektowe etc ..)
Nie dość dostać 1) dla 2 osób), to się nazywa most i jest to jeden z wzorców projektowych. –
Wzór mostu był również moją pierwszą myślą. –