Orientação A Objetos
Artigo: Orientação A Objetos. Pesquise 861.000+ trabalhos acadêmicosPor: Light_Lucas • 12/10/2014 • 1.232 Palavras (5 Páginas) • 418 Visualizações
Universidade do Sul de Santa Catarina – Unisul
Campus Virtual
Avaliação a Distância 1
Unidade de aprendizagem: Orientação à Objetos
Curso: Sistemas para Internet
Data: 22/08/2013
Orientações:
Procure o professor sempre que tiver dúvidas.
Entregue a atividade no prazo estipulado.
Esta atividade é obrigatória e fará parte da sua média final.
Encaminhe a atividade via Espaço UnisulVirtual de Aprendizagem (EVA).
Questão 1:
Baseado na imagem acima, que define uma classe chamada Carro, e baseado nos conceitos estudados sobre orientação a objetos, defina o que é um atributo e o que é um método. Segundo a definição dada, apresente quais são os atributos existentes na classe acima, bem como os seus métodos. Por fim, indique na classe se existe um método construtor, e caso exista, se tal método é sobrecarregado, justificando a sua resposta. (3,5 pontos).
Atributos e variáveis são a mesma coisa em questão de funcionalidade. Ambos são endereços de memória que tem um espaço ou tamanho definido de acordo com o tipo de dado que será guardado, por exemplo: caracter, número, número decimal, etc. Em Java, costumamos utilizar o termo atributo, que é nada além do que uma variável que está dentro de uma classe. Como tudo que fazemos em Java está contido dentro de uma classe, então usamos o termo atributo ao invés de variável.
Os Métodos são blocos de código que pertencem a uma classe e tem por finalidade realizar uma tarefa. Eles são análogos às funções em C e sub-rotinas em pascal. Métodos geralmente correspondem à uma ação do objeto. Exemplo: correr, pegar, etc. Numa classe para realizar cálculos matemáticos poderia ser pegar somar, subtrair, dividir, etc.
Atributos:
• Fabricante (do tipo String)
• Modelo (do tipo String)
• AnoModelo (do tipo Int)
Métodos:
• “setFabricante”,
“getFabricante”
• “setModelo”,”getModelo”
• “setAnoModelo”, “getAnoModelo”
Os métodos set são denominados métodos modificadores porque
modificam o valor dos atributos.
Os métodos get são denominados métodos recuperadores porque
recuperam o valor dos atributos.
Sim, existe um método construtor:
“ public carro () { ” » possui o mesmo nome da classe “carro” e não especifica no cabeçalho nenhum tipo de retorno e também não utiliza “void” portanto é um método construtor.
Não, o método construtor não é sobrecarregado:
Para que haja um método sobrecarregado é necessário que existam dois métodos construtores com o mesmo nome da “classe principal” (carro), cada um com um tipo de parâmetro diferente.
Questão 2:
Você criou a classe abaixo, que tem como finalidade inicializar os atributos velocidadeAtual em zero e velocidadeMaxima em 80. Além disso, a classe possui um método que recebe uma velocidade como parâmetro, que seria um valor que o carro teria de acelerar. Se este valor, somado a velocidade atual for maior que a velocidade máxima, o carro não será acelerado e surgirá uma mensagem na tela. Caso contrário, o carro é acelerado. Essa deve ser a única forma de alterar a velocidade do carro. (3,0 pontos)
1. public class Carro {
2. double velocidadeAtual;
3. double velocidadeMaxima;
4.
5. public Carro(){
6. velocidadeAtual=0;
7. velocidadeMaxima=80;
8. }
9. public void acelera(double quantidade) {
10. if ((this.velocidadeAtual+quantidade)>this.velocidadeMaxima)
11. System.out.println("Velocidade Inadequada. Alteração não será efetuada");
12. else
13. this.velocidadeAtual = this.velocidadeAtual + quantidade;
14. }
15. }
A classe abaixo foi desenvolvida por outra pessoa, que usará a classe anterior criada por você. Tem como objetivo acelerar o carro e mostrar a velocidade final do carro. Uma maneira correta de fazer isso seria como apresentado na linha 4. Ou seja, ao passar o valor 200 como parâmetro uma mensagem seria mostrada, informando não ser possível alterar a velocidade. Porém, a pessoa que desenvolveu essa classe, inadequadamente, atribuiu o valor 200 para a velocidade atual (linha 5), o que não poderia ocorrer. No entanto, a sua classe acima permite que isso ocorra.
Baseado no conceito de encapsulamento estudado nessa unidade de aprendizagem reescreva seu programa acima, de forma que isso não possa ocorrer.
1 class TestaCarroEstouro1 {
2 public static void main(String args[]) {
3 Carro meuCarro = new Carro();
4 meuCarro.acelera(200);
...