Perguntas com a marcação «superclass»


22
Por que super.super.method (); não permitido em Java?
Eu li esta pergunta e pensei que seria facilmente resolvido (não que não seja solucionável sem) se alguém pudesse escrever: @Override public String toString() { return super.super.toString(); } Não tenho certeza se é útil em muitos casos, mas me pergunto por que não é e se existe algo assim em …
360 java  superclass 

7
super () gera "TypeError: deve ser do tipo, não classobj" para a classe de novo estilo
O seguinte uso de super()gera um TypeError: por quê? >>> from HTMLParser import HTMLParser >>> class TextParser(HTMLParser): ... def __init__(self): ... super(TextParser, self).__init__() ... self.all_data = [] ... >>> TextParser() (...) TypeError: must be type, not classobj Há uma pergunta semelhante no StackOverflow: Python super () gera TypeError , onde …


9
Por que os métodos __init__ da superclasse não são invocados automaticamente?
Por que os designers do Python decidiram que os __init__()métodos das subclasses não chamam automaticamente os __init__()métodos de suas superclasses, como em outras línguas? O idioma pitonico e recomendado é realmente o seguinte? class Superclass(object): def __init__(self): print 'Do something' class Subclass(Superclass): def __init__(self): super(Subclass, self).__init__() print 'Do something else'

7
__Init __ () deve chamar __init __ () da classe pai?
Eu estou acostumado que no Objective-C eu tenho essa construção: - (void)init { if (self = [super init]) { // init class } return self; } O Python também deve chamar a implementação da classe pai __init__? class NewClass(SomeOtherClass): def __init__(self): SomeOtherClass.__init__(self) # init class Isso também é verdadeiro / …
132 python  oop  superclass 

5
Herança e Substituindo __init__ em python
Eu estava lendo 'Dive Into Python' e no capítulo sobre classes, dá este exemplo: class FileInfo(UserDict): "store file metadata" def __init__(self, filename=None): UserDict.__init__(self) self["name"] = filename O autor diz que, se você deseja substituir o __init__método, deve chamar explicitamente o pai __init__com os parâmetros corretos. E se essa FileInfoclasse tivesse …
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.