Cześć
Przerabiam właśnie książkę "Python dla każdego. Podstawy programowania. Wydanie III"
Jestem na dziedziczeniu w OOP
Niestety na trafiłem na funkcję super() której za nic nie mogę zrozumieć
Kod autora książki
# Gra w karty 3.0
# demonstruje dziedziczenie - przeslanianie metod
class Card(object):
"""Karta do gry"""
RANKS = ["A","2","3","4","5","6","7","8","9","10","j","Q","K",]
SUITS = ["c","d","h","s"]
def __init__(self,rank, suit):
self.rank = rank
self.suit = suit
def __str__(self):
rep = self.rank + self.suit
return rep
class Unprintable(Card):
"""Karta ktorej ranga i kolor nie sa ujawnione przy jej wyswietleniu"""
def __str__(self):
return "<utajniona>"
class Positionable_Card(Card):
"""Karta ktora moze byc zakryta lub odkryta"""
def __init__(self, rank, suit, face_up=True):
super(Positionable_Card, self).__init__(rank, suit)
self.is_face_up = face_up
def __str__(self):
if self.is_face_up:
rep = super(Positionable_Card, self).__str__()
else:
rep = "XX"
return rep
def flip(self):
self.is_face_up = not self.is_face_up
Konkretnie chodzi mi o linię 26 "super(Positionable_Card, self).init(rank, suit)"
Jak to działa skąd się tam wzięły te argumenty i dlaczego?