Вопросы с тегом «superclass»

1251
«Необходимо переопределить метод суперкласса» Ошибки после импорта проекта в Eclipse

В любое время, когда мне нужно повторно импортировать мои проекты в Eclipse (если я переустановил Eclipse или изменил расположение проектов), почти все мои переопределенные методы не отформатированы правильно, вызывая ошибку: Метод должен переопределить метод суперкласса Стоит отметить, что по...

360
Почему супер.супер.метод (); не разрешено в Java?

Я прочитал этот вопрос и подумал, что его легко решить (а не без него), если бы можно было написать: @Override public String toString() { return super.super.toString(); } Я не уверен, что это полезно во многих случаях, но мне интересно, почему это не так, и если что-то подобное существует на других...

187
Проверьте, является ли класс Ruby подклассом другого класса

Я хотел бы проверить, наследует ли класс другой класс, но, похоже, не существует метода для этого. class A end class B < A end B.is_a? A => false B.superclass == A => true Тривиальная реализация того, что я хочу, будет: class Class def is_subclass_of?(clazz) return true if superclass ==...

155
Почему методы суперкласса __init__ не вызываются автоматически?

Почему разработчики Python решили, что __init__()методы подклассов не вызывают автоматически __init__()методы своих суперклассов, как в некоторых других языках? Действительно ли Pythonic и рекомендуемая идиома похожи на следующее? class Superclass(object): def __init__(self): print 'Do something'...

132
Должен ли __init __ () вызывать родительский класс __init __ ()?

Я использовал это в Objective-C, у меня есть эта конструкция: - (void)init { if (self = [super init]) { // init class } return self; } Должен ли Python также вызывать реализацию родительского класса для __init__? class NewClass(SomeOtherClass): def __init__(self): SomeOtherClass.__init__(self) #...

129
Наследование и переопределение __init__ в Python

Я читал «Погружение в Python» и в главе о классах приводится такой пример: class FileInfo(UserDict): "store file metadata" def __init__(self, filename=None): UserDict.__init__(self) self["name"] = filename Затем автор говорит, что если вы хотите переопределить __init__метод, вы должны явно вызвать...