A Programação teórica java
Por: loio92 • 13/5/2017 • Ensaio • 1.370 Palavras (6 Páginas) • 260 Visualizações
TEÓRICA – PROG2
Lista 01
- O que são modelos em Programação Orientada a Objetos? Dê um exemplo (diferente dos apresentados em sala).
R:é um paradigma de programação de computadores que usa os conceitos de Objetos e Classes como elementos centrais para representar e processar dados usando programas. Ele considera que os dados a serem processados e os mecanismos de processamento destes dados devem ser considerados em conjunto.
Ex: classe – endereço ; objeto – rua, número, bairro
- O que é princípio da abstração?
É a capacidade de abstrair a complexidade de um sistema e se concentrar em apenas partes desse sistema.
Exemplo: um médico torna-se um especialista em algum órgão do corpo (exemplo, o coração). Ele abstrai sem desconsiderar as influências dos outros órgãos e foca apenas sua atenção nesse órgão.
[simplificar o sistema para o que é relevante selecionar : ex.: carro: cor, motor, (e não limpa-vidro, etc)
- Quais são os quatro pilares nos quais a Programação Orientada a Objetos está sedimentada? Defina cada um deles.
* Encapsulamento: É a característica da OO capaz de ocultar partes (dados e detalhes) de implementação interna de classes do mundo exterior. Ex.: modificadores de acesso em JAVA - public, private, protected, package ; ex2: Um Automóvel oferece diversos serviços a uma Pessoa.
* composição ou agregação: É um mecanismo de reaproveitamento (reutilização) de classes utilizado pela POO para aumentar a produtividade e a qualidade no desenvolvimento de software. EX: dados de inscrição de uma pessoa (contato, endereço, data, etc)
[pic 1]
* herança: É o mecanismo que permite a uma classe herdar todos os atributos e métodos de outra classe. Classificado em: herança múltipla e herança simples.
Herança Múltipla: é a capacidade de uma classe possuir mais de uma super classe e herdar os atributos e métodos de todas as superclasses.
- Para simular a herança múltipla em JAVA, usa-se Interfaces
Herança Simples: Cada classe pode ter apenas uma superclasse.
- Na linguagem JAVA usa-se a palavra reservada extends para declarar que uma classe é herdeira de outra.
[pic 2]
* polimorfismo: significa “muitas formas”, ou seja, permite que referências de tipos de classes mais abstratas representem o comportamento das classes concretas que referenciam. Ex: [MOVER] brinquedo → carro (corre), barco (navega), avião(voa)
Classificado em: polimorfismo de sobrecarga, de sobreposição e de inclusão:
Polimorfismo de sobrecarga:
Permite que um método de determinado nome tenha comportamentos distintos, em função de diferentes parâmetros que ele recebe. Cada método difere no número e no tipo de parâmetros. Ex.: Sobrecarga de Construtores
Polimorfismo de sobreposição:[pic 3]
É a redefinição de métodos em classes descendentes. Ou seja, um método de uma classe filha com o mesmo nome de um método de uma classe mãe irá sobrepor esse último.
Polimorfismo de Incluso:
A capacidade do objeto de uma classe A receber qualquer objeto de subclasses da classe A é o que caracteriza o polimorfismo de inclusão.
Lista 2 – não tem!
Lista 3 – não tem!
Lista 4
Qual a diferença entre classe e objeto?
Classe - São estruturas das linguagens de POO que contém os dados que devem ser representados e as operações que devem ser efetuadas com estes dados para determinado um modelo.
Objeto - Um objeto ou instância é uma materialização da classe, usados para representar dados e executar operações.
Qual a finalidade de um método construtor? É possível criar dois construtores na mesma classe?
São utilizados na inicialização dos atributos de uma classe, sendo invocados no momento em que uma instância da classe é criada. Podem ser padrão, de inicialização ou de cópia.
Sim, é possível, mas desde que o parâmetro passado seja diferente:
Ex: class pedido{ ... [ver semelhança com slide 5 – aula 7]
Pedido (int senha, string nome){
....
Pedido (int senha, string nome, string matricula){
O que é um método estático?
São métodos que podem ser chamados sem a necessidade de criação de instâncias das classes às quais pertencem.
IMPORTANTE:
- estástico: “static” fica atrelado a classe (só pode acessar o método através da classe)
Vs.
- não-estatico: fica atrelado ao objeto (só pode acesso o método através do objeto)
IMP: Note que quando declaramos um atributo como static, ele passa a não ser mais um atributo de
cada objeto, e sim um atributo da classe, a informação fica guardada pela classe, não é mais
individual para o objeto.
Em outras palavras, métodos e atributos estáticos só podem acessar outros métodos e atributos estáticos da mesma classe, o que faz todo sentido já que dentro de um método estático não temos acesso à referência this, pois um método estático é chamado através da classe, e não de um objeto.
Exemplo estático:
class soma {
Public static int result (int num1, int num2){
return (num1 +num2);
}
}
public class teste {
public static void main (string[]args){
system.out.println(Soma.resultado(10,50)); → acessou pela classe “soma”
...