Сегодня 23 января, пятница ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7281
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
Лайт Лента
Лайт Лента
Голосов: 1
Адрес блога: http://ligh.te.ua
Добавлен: 2013-04-10 14:14:43
 

Программирование » Метод super() в Python

2013-05-27 17:58:00 (читать в оригинале)

В Python есть метод super(), который обычно применяется к объектам. Его главная задача это возможность использования в классе потомке, методов класса-родителя. По аналогии с PHP5 нечто вроде parrent::__construct() Смотрим пример: # Родительский класс class A(object): def __init__(self): print(u'конструктор класса A') # Потомок класса А class B(A): def __init__(self): print(u'конструктор класса B') super(B,self).__init__() Смысл примера заключается в том, что Python не запустит родительский конструктор, поскольку мы его переопределили в классе B… Поэтому методом super() мы явно вызываем родительский конструктор. Кто-то посчитает код избыточным, ведь приходиться ссылаться на текущий класс чтобы запустить методы родителя, как стало известно в Python версии 3.0 это проблема решена, метод super() будет вызываться без аргументов. Кстати существует альтернативная реализация тех же самых действий, как еще ее называют в старом стиле: class A: def __init__(self): print(u'конструктор класса A') class B(A): def __init__(self): print(u'конструктор класса B') A.__init__(self)

Тэги: программирование

 


Самый-самый блог
Блогер ЖЖ все стерпит
ЖЖ все стерпит
по сумме баллов (758) в категории «Истории»


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.