python_02_klasy.md

#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()