#02_klasy
Opis Klasa w Pythonie to taki własny typ danych. Można w niej trzymać dane i funkcje. Obiekt to konkretna rzecz zrobiona z klasy.
PYTHONclass Osoba:
def __init__(self, imie, wiek):
self.imie = imie
self.wiek = wiek
def pokaz_dane(self):
print("Imię:", self.imie)
print("Wiek:", self.wiek)
osoba1 = Osoba("Kuba", 18)
osoba1.pokaz_dane()
#Co oznacza init
init to konstruktor. Uruchamia się automatycznie przy tworzeniu obiektu.
PYTHONclass Produkt:
def __init__(self, nazwa, cena):
self.nazwa = nazwa
self.cena = cena
produkt1 = Produkt("Myszka", 50)
print(produkt1.nazwa)
print(produkt1.cena)
#Metody w klasie
Metoda to funkcja w środku klasy.
PYTHONclass Prostokat:
def __init__(self, szerokosc, wysokosc):
self.szerokosc = szerokosc
self.wysokosc = wysokosc
def pole(self):
return self.szerokosc * self.wysokosc
def obwod(self):
return 2 * self.szerokosc + 2 * self.wysokosc
p = Prostokat(5, 3)
print("Pole:", p.pole())
print("Obwód:", p.obwod())
#Klasa Uczen
PYTHONclass Uczen:
def __init__(self, imie, oceny):
self.imie = imie
self.oceny = oceny
def srednia(self):
return sum(self.oceny) / len(self.oceny)
def czy_zdal(self):
if self.srednia() >= 2:
return True
else:
return False
uczen1 = Uczen("Kuba", [5, 4, 3, 5])
print("Uczeń:", uczen1.imie)
print("Średnia:", uczen1.srednia())
if uczen1.czy_zdal():
print("Uczeń zdał")
else:
print("Uczeń nie zdał")
#Lista obiektów
PYTHONclass Produkt:
def __init__(self, nazwa, cena):
self.nazwa = nazwa
self.cena = cena
def pokaz(self):
return self.nazwa + " - " + str(self.cena) + " zł"
produkty = [
Produkt("Myszka", 50),
Produkt("Klawiatura", 120),
Produkt("Monitor", 700)
]
for produkt in produkty:
print(produkt.pokaz())
#Dziedziczenie
Dziedziczenie jest wtedy, gdy jedna klasa korzysta z drugiej klasy.
PYTHONclass Zwierze:
def __init__(self, nazwa):
self.nazwa = nazwa
def daj_glos(self):
print("Zwierzę wydaje dźwięk")
class Pies(Zwierze):
def daj_glos(self):
print(self.nazwa, "szczeka")
pies = Pies("Reksio")
pies.daj_glos()
#Przykładowe zadanie
Treść: Napisz program, który tworzy klasę Samochod. Klasa ma mieć markę, model, rocznik i metodę pokazującą dane auta.
PYTHONclass Samochod:
def __init__(self, marka, model, rocznik):
self.marka = marka
self.model = model
self.rocznik = rocznik
def pokaz_dane(self):
print("Marka:", self.marka)
print("Model:", self.model)
print("Rocznik:", self.rocznik)
auto1 = Samochod("Audi", "A3", 2009)
auto2 = Samochod("BMW", "E90", 2008)
auto1.pokaz_dane()
auto2.pokaz_dane()