Witam, muszę wykonać takie zadanie:
Mam problem z dwoma ostatnimi przykładami, ponieważ nie do końca wiem jak powinny funkcjonować.
class Car:
"""
Obiekt Car opisuje nam wlasnosci aut.
:param str typ: typ auta
:param str rodzaj: trzyma marke auta
:param str model: trzyma model auta
:param num pojemnosc: trzyma pojemnosc auta
:Example:
>>> Lambo = Car('SportCar', 'Lamborgini', 'Aventador', 4000)
"""
def __init__(self, typ, marka, model, pojemnosc):
self.typ = typ
self.marka = marka
self.model = model
self.pojemnosc = pojemnosc
def __str__(self):
ret = f"{self.typ} marki {self.marka}, model {self.model}"
ret += f" o pojemności {self.pojemnosc} dm^3"
return ret
#gettery
def get_typ(self):
return self.rodzaj
def get_marka(self):
return self.waga
def get_model(self):
return self.smak
def get_pojemnosc(self):
return self.pojemnosc
#-------------------------
#settery
def set_typ(self, x):
if isinstance(x, str):
self.typ = x
else:
raise TypeError("Zmienna typ powinna byc lancuchem znakow STR")
def set_marka(self, x):
if isinstance(x, (int, float)):
self.marka = x
else:
raise TypeError("Zmienna marka powinna byc lancuchem znakow STR")
def set_model(self, x):
if isinstance(x, str):
self.model = x
else:
raise TypeError("Zmienna model powinna byc lancuchem znakow STR")
def set_pojemnosc(self, x):
if isinstance(x, str):
self.pojemnosc = x
else:
raise TypeError("Pojemnosc powinna byc liczba INT lub FLOAT")
#-------------------------
class ExclusiveCar(Car):
"""
Obiekt Car opisuje nam wlasnosci aut.
:param str typ: typ auta
:param str rodzaj: trzyma marke auta
:param str model: trzyma model auta
:param num pojemnosc: trzyma pojemnosc auta
:Example:
>>> Lambo = Car('SportCar', 'Lamborgini', 'Aventador', 4000)
"""
def __init__(self, marka, model, pojemnosc, nawigacja, komp):
super().__init__("Exclusive Car", marka, model, pojemnosc)
self.nawigacja = nawigacja
self.komp = komp
def __str__(self):
return super().__str__() + f"\nAuto posiada nawigacje: {self.nawigacja}, Auto posiada komputer: {self.komp}"
#gettery
def get_typ(self):
return self.rodzaj
def get_marka(self):
return self.waga
def get_model(self):
return self.smak
def get_pojemnosc(self):
return self.pojemnosc
def get_nawigacja(self):
return self.nawigacja
def get_komp(self):
return self.komp
#-------------------------
#settery
def set_typ(self, x):
if isinstance(x, str):
self.typ = x
else:
raise TypeError("Zmienna typ powinna byc lancuchem znakow STR")
def set_marka(self, x):
if isinstance(x, (int, float)):
self.marka = x
else:
raise TypeError("Zmienna marka powinna byc lancuchem znakow STR")
def set_model(self, x):
if isinstance(x, str):
self.model = x
else:
raise TypeError("Zmienna model powinna byc lancuchem znakow STR")
def set_pojemnosc(self, x):
if isinstance(x, str):
self.pojemnosc = x
else:
raise TypeError("Pojemnosc powinna byc liczba INT lub FLOAT")
def set_nawigacja(self, x):
if isinstance(x, str):
self.nawigacja = x
else:
raise TypeError("Zmienna nawigacja powinna byc lancuchem znakow STR")
def set_komp(self, x):
if isinstance(x, str):
self.komp = x
else:
raise TypeError("Zmienna komp powinna byc lancuchem znakow STR")
#-------------------------
class SportCar(Car):
"""
Obiekt Car opisuje nam wlasnosci aut.
:param str typ: typ auta
:param str rodzaj: trzyma marke auta
:param str model: trzyma model auta
:param num pojemnosc: trzyma pojemnosc auta
:Example:
>>> Lambo = Car('SportCar', 'Lamborgini', 'Aventador', 4000)
"""
def __init__(self, marka, model, pojemnosc, sport, manetki):
super().__init__("Exclusive Car", marka, model, pojemnosc)
self.sport = sport
self.manetki = manetki
def __str__(self):
return super().__str__() + f"\nAuto posiada tryb sport: {self.sport}, Auto posiada manetki: {self.manetki}"
#gettery
def get_typ(self):
return self.rodzaj
def get_marka(self):
return self.waga
def get_model(self):
return self.smak
def get_pojemnosc(self):
return self.pojemnosc
def get_sport(self):
return self.sport
def get_manetki(self):
return self.manetki
#-------------------------
#settery
def set_typ(self, x):
if isinstance(x, str):
self.typ = x
else:
raise TypeError("Zmienna typ powinna byc lancuchem znakow STR")
def set_marka(self, x):
if isinstance(x, (int, float)):
self.marka = x
else:
raise TypeError("Zmienna marka powinna byc lancuchem znakow STR")
def set_model(self, x):
if isinstance(x, str):
self.model = x
else:
raise TypeError("Zmienna model powinna byc lancuchem znakow STR")
def set_pojemnosc(self, x):
if isinstance(x, str):
self.pojemnosc = x
else:
raise TypeError("Pojemnosc powinna byc liczba INT lub FLOAT")
def set_sport(self, x):
if isinstance(x, str):
self.sport = x
else:
raise TypeError("Zmienna sport powinna byc lancuchem znakow STR")
def set_manetki(self, x):
if isinstance(x, str):
self.manetki = x
else:
raise TypeError("Zmienna manetki powinna byc lancuchem znakow STR")
#-------------------------
class OffRoadCar(Car):
"""
Obiekt Car opisuje nam wlasnosci aut.
:param str typ: typ auta
:param str rodzaj: trzyma marke auta
:param str model: trzyma model auta
:param num pojemnosc: trzyma pojemnosc auta
:Example:
>>> Lambo = Car('SportCar', 'Lamborgini', 'Aventador', 4000)
"""
def __init__(self, marka, model, pojemnosc, reg_wys, fxf):
super().__init__("Exclusive Car", marka, model, pojemnosc)
self.reg_wys = reg_wys
self.fxf = fxf
def __str__(self):
return super().__str__() + f"\nAuto posiada regulację wysokości: {self.reg_wys}, Auto posiada napęd 4x4: {self.fxf}"
#gettery
def get_typ(self):
return self.rodzaj
def get_marka(self):
return self.waga
def get_model(self):
return self.smak
def get_pojemnosc(self):
return self.pojemnosc
def get_reg_wys(self):
return self.reg_wys
def get_fxf(self):
return self.fxf
#-------------------------
#settery
def set_typ(self, x):
if isinstance(x, str):
self.typ = x
else:
raise TypeError("Zmienna typ powinna byc lancuchem znakow STR")
def set_marka(self, x):
if isinstance(x, (int, float)):
self.marka = x
else:
raise TypeError("Zmienna marka powinna byc lancuchem znakow STR")
def set_model(self, x):
if isinstance(x, str):
self.model = x
else:
raise TypeError("Zmienna model powinna byc lancuchem znakow STR")
def set_pojemnosc(self, x):
if isinstance(x, str):
self.pojemnosc = x
else:
raise TypeError("Pojemnosc powinna byc liczba INT lub FLOAT")
def set_reg_wys(self, x):
if isinstance(x, str):
self.reg_wys = x
else:
raise TypeError("Zmienna reg_wys powinna byc lancuchem znakow STR")
def set_fxf(self, x):
if isinstance(x, str):
self.fxf = x
else:
raise TypeError("Zmienna fxf powinna byc lancuchem znakow STR")
#-------------------------
class ExclusiveSportCar(SportCar, ExclusiveCar):
def __init__(self, marka, model, pojemnosc, sport, manetki):
super().__init__(marka, model, pojemnosc, sport, manetki)
- screenshot-20200418193630.png (164 KB) - ściągnięć: 50