Orientação a Objetos Java
Por: Elen Rodrigues • 26/4/2016 • Trabalho acadêmico • 2.038 Palavras (9 Páginas) • 431 Visualizações
Programação Orientada à Objetos
Questões de auto-estudo
1. Qual é o significado da palavra paradigma?
Um paradigma é um conjunto de regras que estabelecem fronteiras e descrevem como resolver problemas dentro desta fronteira. Um paradigma ajuda-nos a organizar a e coordenar a maneira como olhamos o mundo.
2. Como objetos interagem uns com os outros?
Um objeto comunica-se com outro através de mensagens que identificam operações a serem realizadas no segundo objeto.
3. Qual é o nome aplicado para descrever um algoritmo que um objeto usa para responder uma requisição?
Métodos.
4. Porque na abordagem de OO implica em um alto grau de ocultação de informação (information hiding)?
É proteger o código. O cliente não precisa saber como é feito, ele só precisa saber que é feito aquele procedimento.
5. O que é uma hierarquia de herança de classe?
Herança é a propriedade dos objetos que permite a criação de uma hierarquia entre eles, onde os descendentes herdam o acesso ao código e estruturas de dados dos seus ancestrais.
6. O que significa um método sobrepor outro método da classe pai?
É definida como a capacidade de uma nova classe em herdar atributos emétodos pertencentes a uma classe existente.
Exercícios
Em uma hierarquia de herança orientada a objetos, cada nível é uma forma mais especializada do nível precedente.
1) Dê um exemplo de uma hierarquia encontrada no cotidiano que tem esta propriedade.
Imagem 1.
Abstração
1. O que é uma abstração? Dê um exemplo de como é usada no mundo real.
É uma técnica de ocultar informações, os detalhes, de maneira a tornar a mais claro outros aspectos. Faz-se uso deste conceito ao abstrair as coisas do mundo real e pegar somente o que for relevante para sua classe. Por exemplo, se eu quisesse fazer uma aplicação para manipular e armazenar dados de um carro para um estacionamento, eu deveria pegar os dados relevantes dos carros-clientes, como: Número da placa, cor, modelo, ano. Estes são chamados atributos. Muito falaremos de “atributos”, como sendo partes de classes. Um veículo tem muitas características, porém só nos interessa pegar o que nos for relevante para a aplicação
2. O que é information hiding? Dê um exemplo de como é usada no mundo real.
Omissão proposital de detalhes.
3. Quais são as camadas de abstração encontradas em um programa orientado a objetos?
Identidade = Essa identidade deve ser única dentro do sistema para que não haja conflito.
Caracteritiscas = Dentro da programação orientada a objetos, essas características são nomeadas propriedades. Por exemplo, as propriedades de um objeto “Cachorro” poderiam ser “Tamanho”, “Raça” e “Idade”.
Métodos = As ações que o objeto irá executar. Esses métodos podem ser extremamente variáveis, desde “Acender()” em um objeto lâmpada até “Latir()” em um objeto cachorro.
4. O que os termos cliente e servidor significam quando aplicados a POO?
As aplicações clientes e servidoras são programas executando em máquinas distintas, trocando informação através de uma rede de computadores. Para que os serviços possam ser solicitados, a aplicação cliente deve conhecer quem fornece o serviço (o endereço da aplicação servidora) e qual o protocolo pré-estabelecido para realizar a solicitação.
5. Qual é a diferença entre interface e implementação?
Interface: não encapsulada (Permite a interação do objeto com o sistema).
Implementação: encapsulada (Isola a essência do objeto do restante do sistema).
6. Como as divisões baseadas em camadas de especializações diferem da divisão baseada em separação em partes?
Camadas são basicamente herança. Pessoa e carpinteiro seriam duas classe com herança. Partes seria o setor setor A faz isso e B aquilo dentro da mesma empresa.
7. Quais são as características básicas de um módulo?
Exercícios
1. Escolha uma estrutura relativamente simples da vida real, tal como um carro ou edifício. Descreva características usado a técnica de divisão em partes, seguida por um refinamento de cada parte em uma descrição mais detalhada.
2. Extenda sua descrição em 3 níveis de detalhes.
3. Descreva uma coleção de objetos usando a técnica de camadas de
especialização.
Modificadores de acesso
1. O que é uma classe?
Pode-se definir classes de objetos como a descrição de um grupo de objetos por meio de um conjunto uniforme de atributos e serviços. Uma classe é um conjunto de objetos que compartilham as mesmas operações.
2. O que é um método?
Um método é a implementação de uma rotina, ou seja, o código propriamente dito. Pode ser comparado a um procedimento ou função das linguagens imperativas.
3. Qual operação é desempenhada pela instrução System.out.println?
Exibir a mensagem na tela.
4. Quais são os três tipos de modificadores de acesso? O que cada um deles significa?
public:
Uma declaração com o modificador public pode ser acessada de qualquer lugar e por qualquer entidade que possa visualizar a classe a que ela pertence.
private:
Os membros da classe definidos como não podem ser acessados ou usados por nenhuma outra classe. Esse modificador não se aplica às classes, somente para seus métodos e atributos. Esses atributos e métodos também não podem ser visualizados
...