crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> ООП в Python, а есть ли?
Litkevich Yuriy
  опции профиля:
сообщение 14.11.2010, 18:37
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Вроде ООП в питоне есть, и вроде наследование есть.

Но почему-то наталкиваюсь на проблему:
class SubClass(BaseClass):
    def __init__(self):
        BaseClass.__init__(self)
        # ...
        method(args)
где method(args) - это метод базового класса или ещё дальше по иерархии.
При таком варианте получаю ошибку:
Цитата
NameError: global name 'method' is not defined

почему?

неужели нужно писать имя базового класса перед методом и, как следствие, всё время помнить в каком из родительских классов этот метод был введён?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 14.11.2010, 23:40
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Litkevich Yuriy @ 15.11.2010, 2:52) *
QWidget.resizeEvent(event);
эту штуку победил.
Нужно так вызывать метод базового класса:
QWidget.resizeEvent(self, event);
, т.е. передавать все аргументы, в том числе и ссылку на экземпляр класса (здесь self)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 26.11.2024, 9:39