Introdução
• Programas eram lineares e com poucos módulos:
– PE – Programação Estruturada
• Aumento da complexidade dos sistemas e difícil reusabilidade dos mesmos.
• Criação de um novo Paradigma de Análise e Desenvolvimento de Sistemas:
– POO - Programação Orientada a Objetos
Introdução
• No mundo real, pensamos em conceitos e em entidades concretas e abstratas
• Tudo é objeto:
– Ex.: carro, computador, música, camisa,
cliente, conta bancária, etc
POO
• Paradigma de Programação
– Dominante nos dias atuais
• Substituiu as técnicas de programação procedimental (estruturada)
• Mapeamento direto
– Mundo real vs unidades de organização
• Diversas unidades de software, chamadas de objetos, que interagem entre si
• Separação entre o que é feito e como é feito
POO
• Representação do Mundo Real:
Produto Possui Compra Realiza Cliente
POO
• Vantagens:
– Flexibilidade – Reusabilidade – Robustez
– Modularidade
POO
• Elementos básicos:
– Objetos
– Classes
– Instâncias
Objetos
• Entidades concretas ou abstratas
• Tem características e podem executar ações
• “um objeto representa um item identificável, uma unidade ou entidade, individual, seja real ou
abstrato, com uma regra bem definida”
OBJETO = DADOS + OPERAÇÕES
• Possuem:
– Estado
– Comportamento – Identidade
Objetos
• Estado:
– Define os estados possíveis que um objeto pode assumir
– São os valores dos atributos (propriedades)
• Ex.:
– Rádio
Ligado
POO
• Comportamento:
– São as funções que podem ser executadas por um determinado objeto
– Corresponde aos métodos
– O que você pode fazer com esse objeto
• Ex.:
– Rádio
Ligar
Desligar
POO
• Identidade:
– Um objeto é único, mesmo que o seu estado seja idêntico ao de outro
• Ex.:
– Rádio
Código 001; Sony
Classes
• Modelo ou esquema a partir do qual os objetos são criados (instanciados)
• Modelam os objetos definindo:
– Tipo de dados que o objeto armazena, ou seja, os estados possíveis que ele pode assumir (atributos) – Tipos de operações que podem ser executadas pelo
objeto, ou seja, o seu comportamento (métodos)
• Abstração de objetos de características semelhantes (molde)
• É a essência do objeto
Classes
• Objetos são instâncias de classes
• OBS.: Todo código Java está dentro de uma Classe
Cliente
Paulo Eduardo Emanuel
Classes em JAVA
• Declaração de uma classe em Java:
[<modificadores da classe>] class <nome_classe>
[extends <nome_superclasse>]
[implements <inteface_1>, <interface_2>, ...] { // Variáveis e métodos da classe
}
[ ] = Opcionais
Classes em JAVA
• Exemplos:
public class Produto {
private String codigo;
private double preco;
public String getCodigo() { return codigo;
}
public void setCodigo(String codigo) { this.codigo = codigo;
}
Atributos em JAVA
• Definem as características do objeto
[ ] = Opcionais
[<modificadores_atributo>] <tipo_atributo> <nome_atributo> [= valor_inicial];
Atributos em JAVA
• Exemplo:
private String codigo;
private double preco;
Métodos em JAVA
• Definem as ações que um objeto pode executar
• Sua definição corresponde a duas partes:
– Assinatura – Corpo
[<modificadores_método>] <tipo_retorno> <nome_método> ([<parametros>]){
// Corpo do Método }
[ ] = Opcionais
Métodos em JAVA
• Exemplo
public String getCodigo() { return codigo;
}
public void setCodigo(String codigo) { this.codigo = codigo;
}
public double getPreco() { return preco;
Exercícios
• Crie uma classe em JAVA para mapear CLIENTE e ORDEM DE SERVIÇO
• As características do CLIENTE são nome, endereço e telefone. As características da ORDEM DE SERVIÇO são nome do
produto, marca, problema e valor
• As ações do CLIENTE serão para
recuperar os dados e as da ORDEM DE
SERVICO também
Dúvidas
Referências
• RICARTE, I. L. M.; Programação Orientada a Objetos:
Uma Abordagem com Java. UNIVERSIDADE ESTADUAL DE CAMPINAS.
• MARTINS, F. M.; JAVA6 e Programação Orientada pelos Objectos. FCA - Editora de Informática, 2015.
• Os 4 pilares da Programação Orientada a Objetos.
Disponível em: http://www.devmedia.com.br/os-4- pilares-da-programacao-orientada-a-objetos/9264.
Acesso em 15/05/2016
• Programação orientada a objetos com Java. Disponível em:
http://www.devmedia.com.br/programacao-orientada-a-
objetos-com-java-easy-java-magazine-1/18449. Acesso em