90 likes | 205 Views
Linguagem técnica de programação I Java i. Herança, Sobreescrita ( override ) e Sobrecarga ( overload ). Herança.
E N D
Linguagem técnica de programação I Java i Herança, Sobreescrita (override) e Sobrecarga (overload)
Herança • No paradigma orientado a objetos podemos definir um conjunto de classes em uma estrutura hierárquica onde cada uma das classes “herda” características da suas superiores nesta estrutura.
Herança • 1 - Crie uma hierarquia de classes conforme abaixo com os seguintes atributos e comportamentos (observe a tabela), utilize os seus conhecimentos e distribua as características de forma que tudo o que for comum a todos os animais fique na classe Animal:
Herança • Agora crie um programa (uma classe com método main()) que execute em seguida as seguintes ações: • O cavalo deve emitir um som, ou seja, deve executar o método emitirSom() • O cachorro deve correr, ou seja, deve executar o método correr() • A preguiça deve subir na árvore
Sobreescrita • A sobreescrita de métodos é uma característica que permite alteração do comportamento de uma classe pai pelas suas classes filhas • Para tanto, deve-se reescrever o método que deseja que se apresente diferente dentro da classe filha • Com a cláusula super, podemos executar também o método herdado da classe pai junto com o método sobreescrito
Sobreescrita • Agora, voltando ao exercício anterior, implemente as seguintes sobreescritas e chamadas de execução: • O cavalo deve emitir um som diferente do que está definido na classe Pai • O cachorro deve correr, latir (imprimir na tela “au, au”) e depois falar “Sou um animal!!!” (ou seja, também imprimir na tela) • A preguiça deve emitir o som: “Estou cansada...” e, em seguida, deve subir na árvore
Sobrecarga • O Java permite que você tenha métodos com o mesmo nome, mas com assinaturas diferentes, isto chama-se sobrecarga. • É muito semelhante à sobreescrita, porém, na sobrecarga são repassados parâmetros para o método que está fazendo a sobrecarga • O interpretador determinará qual método deve ser invocado pelo tipo de parâmetro passado.
Sobrecarga • Agora, voltando ao exercício anterior, implemente as seguintes sobrecargas: • Altere o método emitirSom ()sobreescrito (com override) na classe Cachorro de forma que ele possa receber como parâmetro o texto “Au, au!!”; • Faça a sobrecarga na classe Preguica no método subirEmArvores() de forma que ela diga se está subindo rápido ou se está subindo devagar • Faça a sobrecarga do método correr() definindo o recebimento de um parâmetro que informe a velocidade da corrida.
Exercício • Crie um programa que calcule o salário final dos vendedores de uma firma de acordo com a função de cada um: • Vendedor externo: salário + comissão + gasolina; • Vendedor interno: salário + comissão + vale-transporte • Para o cálculo da comissão: • vendas iguais ou acima de R$ 1000,00 – comissão de 10% das vendas • Vendas abaixo de R$ 1000,00 – comissão de 7% das vendas • O programa deve solicitar o salário base, o valor da gasolina (se vendedor externo) e o valor do vale-transporte (se vendedor interno)