DEV Community

Usando super para chamar construtores da superclasse

  • Uma subclasse pode chamar um construtor definido pela sua superclasse usando a forma super(lista-parâmetros);.

  • lista-parâmetros deve especificar os parâmetros necessários para o construtor da superclasse.

  • A primeira instrução executada dentro do construtor de uma subclasse deve sempre ser super(); (ou super(lista-parâmetros); se for necessário passar parâmetros).

  • A seguir, uma versão de TwoDShape com um construtor que inicializa width e height.

Image description

Image description

Image description

  • A subclasse Triangle usa super(w, h) para chamar o construtor da superclasse TwoDShape, passando os valores de w e h.

  • O construtor de TwoDShape inicializa width e height com esses valores.

  • A subclasse Triangle não precisa inicializar width e height, apenas o valor de style, que é exclusivo dela.

  • O uso de super( ) permite que a superclasse (TwoDShape) construa seu próprio subobjeto como desejar e adicione funcionalidades sem que a subclasse precise saber dos detalhes.

  • Toda forma de construtor definida pela superclasse pode ser chamada com super( ). O construtor executado será aquele cujos argumentos correspondem aos parâmetros fornecidos.

  • O exemplo a seguir mostra versões expandidas de TwoDShape e Triangle com construtores padrão e construtores que recebem um argumento.

Image description

Image description

Image description

  • Chamada ao Construtor da Superclasse: Quando uma subclasse chama super( ), está invocando o construtor da sua superclasse imediata.

  • Referência à Superclasse Imediata: super( ) sempre referencia a superclasse imediatamente acima da classe que a está chamando, mesmo em hierarquias de vários níveis.

  • Primeira Instrução no Construtor: super( ) deve ser a primeira instrução executada dentro do construtor de uma subclasse. Isso garante que a parte da superclasse do objeto seja inicializada antes que o construtor da subclasse execute seu próprio código.

Top comments (0)