# Primer nadrazredov in podrazredov

class Lik():
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def premakni(self, dx, dy):
        """Premakni lik za vektor (dx, dy)."""
        self.x += dx
        self.y += dy
        
    def __repr__(self):
        return "Lik({0}, {1})".format(self.x, self.y)


class Kvadrat(Lik):
    def __init__(self, x, y, a):
        super().__init__(x,y) # Poklici __init__ v nadrazredu
        self.a = a # Velikost stranice

    def ploscina(self):
        return self.a ** 2

    def __repr__(self):
        return "Kvadrat({0}, {1}, {2})".format(self.x, self.y, self.a)

class Trikotnik(Lik):
    def __init__(self, x1, y1, x2, y2, x3, y3):
        super().__init__(x1, y1)
        self.x2 = x2
        self.y2 = y2
        self.x3 = x3
        self.y3 = y3
        
    def __repr__(self):
        return "Trikotnik({0},{1},{2},{3},{4},{5})".format(
            self.x, self.y,
            self.x2, self.y2,
            self.x3, self.y3)

    def ploscina(self):
        return "Domaca naloga"

        
# Primeri uporabe
a = Lik(2,3) # Lik na poziciji x=2, y=3
b = Kvadrat(10,12,8) # Kvadrat na poziciji x=10, y=12, a=8
c = Trikotnik(3,4,12,13,70,71)