Commit 640c3c42 by Patryk Czarnik

dziedziczenie - init

parent 98be1b10
......@@ -15,7 +15,14 @@ class Osoba:
class Student(Osoba):
pass
def __init__(self, imie, nazwisko, wiek, rok, kierunek):
# Podczas inicjowania obiektu Student powinniśmy wywołać init z klasy Osoba i przekazać do niego wymagane parametry.
super().__init__(imie, nazwisko, wiek)
self.rok = rok
self.kierunek = kierunek
def srednia_ocen(self):
return 4.5
class Sklep:
......@@ -39,9 +46,20 @@ class Sklep:
osoba = Osoba('Ala', 'Kowalska', 40)
student = Student('Bartek', 'Nowakowski', 20)
student = Student('Bartek', 'Nowakowski', 20, 1, 'medycyna')
print('osoba:', osoba, 'typu', type(osoba))
print('student:', student, type(student))
# Zarówno obiekt osoba, jak i student, mają te atrybuty, które były zdefiniowane w klasie Osoba.
# Tylko obiekt typu Student posiada atrybuty dodane w klasie Student.
print('dane osoby:', osoba.imie, osoba.nazwisko)
#ERR print('dane osoby:', osoba.imie, osoba.nazwisko, osoba.kierunek)
print('dane studenta:', student.imie, student.nazwisko, student.kierunek)
# Tylko obiekty klasy Student posiadają dodatkową metodę srednia_ocen
#ERR print('średnia ocen osoby:', osoba.srednia_ocen())
print('średnia ocen studenta:', student.srednia_ocen())
print()
osoba.przedstaw_sie()
student.przedstaw_sie()
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment