trida.py 903 Bytes
Newer Older
Mareš Martin's avatar
Objekty    
Mareš Martin committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Zvire:
    """Vytvoří zvíře s danými vlastnostmi."""

    def __init__(self, jmeno, zvuk):
        self.jmeno = jmeno
        self.zvuk = zvuk

    def slysi_na(self, jmeno):
        """Slyší zvíře na dané jméno?"""
        return self.jmeno == jmeno

    def ozvi_se(self):
        """Vydá zvuk daného zvířete."""
        print(self.jmeno, "říká:", self.zvuk)

    def __str__(self):
        return self.jmeno

    def __repr__(self):
Mareš Martin's avatar
Mareš Martin committed
20
        return f"Zvire({self.jmeno}, {self.zvuk})"
Mareš Martin's avatar
Objekty    
Mareš Martin committed
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

    def __eq__(self, other):
        return self.jmeno == other.jmeno and \
               self.zvuk == other.zvuk

class Kocka(Zvire):
    """Vytvoří kočku s danými vlastnostmi."""

    def __init__(self, jmeno, zvuk):
        Zvire.__init__(self, jmeno, zvuk)
        self.pocet_zivotu = 9

    def slysi_na(self, jmeno):
        # Copak kočka slyší na jméno?
        return False