LINUX.ORG.RU

маленький вопрос по Python

 


0

2

Приветствую, ситуация значит следующая, есть некий базовый класс с несколькими переменными-членами(типа общими для всех потомков) и несколько наследованных от него потомков. К потомках есть метод save, который возвращает строчку со значением всех переменных класса: Примерно так:

class Primitive:
    def __init__(self):
        self.type       = None
        self.thickness  = 1
        self.color      = "#000000"

    def save(self):
        pass
    
    def load(self, values):
        pass


class Line(Primitive):
    def __init__(self):
        self.x1 = 0
        self.x2 = 0
        self.y1 = 0
        self.y2 = 0

    def save(self):
        return  self.__class__.__name__ + " " +\
                str(self.x1)            + " " +\
                str(self.y1)            + " " +\
                str(self.x2)            + " " +\
                str(self.y2)            + " " +\
                str(super(Line, self).color)   # <---- ? как обратиться к родителю, чтобы подтянуть значения эго перемнных

    def load(self):
        pass

if __name__ == "__main__":
    line = Line()
    print line.save()

Но возникает вопрос, как из потомка обратиться к родителю, чтобы получить значения его переменных? Т.е на выходе должно быть что-то вроде:

Line 10 10 50 50 line 1 #ff0000
★★★★★

Последнее исправление: xterro (всего исправлений: 1)
Ответ на: комментарий от tailgunner

Т.е всё таки лучше изначально наследоваться от object, и быть чётким пацаном, а не какашкой? и пофиг на оверхед ))

xterro ★★★★★
() автор топика
Ответ на: комментарий от xterro

Т.е всё таки лучше изначально наследоваться от object, и быть чётким пацаном, а не какашкой?

Да.

и пофиг на оверхед ))

Оверхед 800 байт на класс? Да, пофиг. Сколько у тебя классов в программе?

tailgunner ★★★★★
()
Ответ на: комментарий от xterro

В третьем питоне без указания родительского класса наследование автоматически идет от object. Разработчики питона решили, что новые классы лучше. Если ты не знаешь различий, то лучше юзай то, что лучше с точки зрения более опытных людей. Да и в новых классах многое стало более логично выглядеть.

anonymous
()
Ответ на: комментарий от tailgunner

Немного, думаю десяток-полтора, не больше

xterro ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.