Herança de classe é um princípio presente na linguagem Swift...
Herança de classe é um princípio presente na linguagem Swift e que torna possível classes compartilharem atributos e métodos. Analise o trecho de código a seguir escrito em linguagem Swift:
Após a execução deste trecho de código, será impresso na saída
padrão:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Observando o código, vemos que tracker é instanciado como uma nova Motocicleta, e scooter por sua vez é instanciado como uma Motoneta.
A Motocicleta é herdada de veículo, mas não sobrescreve o método buzinar , apenas cria um novo método buzinar Alto, então, quando é chamado tracker.buzinar, é chamado o buzinar da classe Veículo , e será impresso "Bii Bii!".
Por sua vez, a classe Motoneta herda de Motocicleta, mas sobrescreve a função buzinar, mudando o comportamento para "Pi Piii!", portanto , quando chamar scooter.buzinar, será impresso "Pi Piii!".
Portanto a alternativa correta é a letra A
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
tracker.buzinar() é um método da classe Motocicleta() que por sua vez herda os componentes da classe Veiculo,
logo tracker.buzinar() irá imprimir: Bii Bii!
scooter.buzinar() é um método da classe Motoneta() que sobrescreveu o método original buzinar() da classe Veiculo com um novo comportamento que é imprimir Pi Piii! ao invés de Bii Bii!
Logo a alternativa correta é a letra A.
Cadê a classe motoneta? Deveria ter sido anulada.
buzinar != buzinarAlto
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo