- Apple iPhone 16 Pro - rutinvizsga
- Samsung Galaxy A54 - türelemjáték
- Külföldi prepaid SIM-ek itthon
- Android alkalmazások - szoftver kibeszélő topik
- Xiaomi 15T Pro - a téma nincs lezárva
- iPhone topik
- Xiaomi 17 Ultra - jó az optikája
- Mobil flották
- Xiaomi 17 - még mindig tart
- Milyen okostelefont vegyek?
Új hozzászólás Aktív témák
-
cousin333
addikt
válasz
#82595328
#1262
üzenetére
"Azt gondoltam, hogy ha példányosítom a származtatott osztályt, akkor abban benne lesz a szülőosztály is."
Jól gondolod, ez a példában is így van. Nem látom az ellentmondást, amit nem értesz. Ha a származtatott osztálynak van egy init függvénye, akkor az felülírja a szülő osztály init-jét, hacsak külön nem hívod meg. Ez nem a szülő osztály példányosítása!
A példádban az egyik és a másik példányváltozók, így nem s léteznek, amíg nem adsz nekik értéket a példányosítással. Az osztályváltozó "tud olyat", hogy példányosítás nélkül is létezik. Csinálhatsz például ilyet:
class Egy():
egyik = 1
masik = 2
def szorzat(self):
return self.egyik * self.masik
class Ketto(Egy):
def __init__(self, egyik):
self.egyik = egyik
a = int(input('Adj egy számot!'))
b = int(input('Adj még egy számot'))
egyke = Ketto(a)
print ('Egyik = %s' % egyke.egyik)
print ('Masik = %s' % egyke.masik)
print ('Szorzat = %s' % egyke.szorzat())Ekkor az egyik és a masik osztályváltozók, és az Egy osztálynak nem is kell
__init__(), azt a Ketto tartalmazza. Amikor példányosítod a Ketto-t, akkor már lesz egyself.egyikésself.masiknevű változója 1 illetve 2 értékkel. A fenti példában mi kötelezően felülírjuk az egyik értékét, a masik marad 2.
Új hozzászólás Aktív témák
- Új! AKRacing Premium Master gamer szék
- AKCIÓ! szinte RAM áron adom! MSI Vector GP78 HX13V i7-13700HX RTX4080 32GB DDR5 1TB QHD240 1 év gari
- ÁRGARANCIA!Épített KomPhone i5 14400F 32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
- NEC MultiSync V422 42" Monitor
- Samsung PM9E1 "9100 PRO" 2TB M.2 NVME Gen5 x4 SSD! 14.000-12.500MB/s
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


