Aula 04 Introdução à Programação Orientada à Objetos · Introdução Programas eram lineares...
Transcript of Aula 04 Introdução à Programação Orientada à Objetos · Introdução Programas eram lineares...
![Page 1: Aula 04 Introdução à Programação Orientada à Objetos · Introdução Programas eram lineares e com poucos módulos (Programação estruturada); Aumento da complexidade dos sistemas](https://reader030.fdocumentos.com/reader030/viewer/2022020415/5becae9309d3f2d6718bb74d/html5/thumbnails/1.jpg)
Aula 04 – Introdução à
Programação Orientada à Objetos
Disciplina: Programação Estruturada e Orientada a Objetos
Prof. Bruno Gomes
http://www.profbrunogomes.com.br/
![Page 2: Aula 04 Introdução à Programação Orientada à Objetos · Introdução Programas eram lineares e com poucos módulos (Programação estruturada); Aumento da complexidade dos sistemas](https://reader030.fdocumentos.com/reader030/viewer/2022020415/5becae9309d3f2d6718bb74d/html5/thumbnails/2.jpg)
Agenda
Introdução à Programação Orientada à Objetos;
POO em Java.
![Page 3: Aula 04 Introdução à Programação Orientada à Objetos · Introdução Programas eram lineares e com poucos módulos (Programação estruturada); Aumento da complexidade dos sistemas](https://reader030.fdocumentos.com/reader030/viewer/2022020415/5becae9309d3f2d6718bb74d/html5/thumbnails/3.jpg)
Introdução
Programas eram lineares e com poucos módulos(Programação estruturada);
Aumento da complexidade dos sistemas e difícilreusabilidade dos mesmos;
Criação de um novo Paradigma de Análise eDesenvolvimento de Sistemas:
Programação Orientada a Objetos.
![Page 4: Aula 04 Introdução à Programação Orientada à Objetos · Introdução Programas eram lineares e com poucos módulos (Programação estruturada); Aumento da complexidade dos sistemas](https://reader030.fdocumentos.com/reader030/viewer/2022020415/5becae9309d3f2d6718bb74d/html5/thumbnails/4.jpg)
Introdução
No mundo real, pensamos em conceitos e ementidades concretas e abstratas;
Tudo é objeto:
Ex.: carro, computador, música, camisa, cliente, conta bancária,etc.
![Page 5: Aula 04 Introdução à Programação Orientada à Objetos · Introdução Programas eram lineares e com poucos módulos (Programação estruturada); Aumento da complexidade dos sistemas](https://reader030.fdocumentos.com/reader030/viewer/2022020415/5becae9309d3f2d6718bb74d/html5/thumbnails/5.jpg)
Programação Orientada a Objetos
É um Paradigma de Programação: Dominante nos idas atuais.
Substituiu as técnicas de programação procedimental(estruturada);
“Fornece um mapeamento direto entre o mundo real e asunidades de organização utilizadas no projeto”;
Diversas unidades de software, chamadas de objetos,que interagem entre si: Separa claramente a noção de o que é feito de como é feito.
![Page 6: Aula 04 Introdução à Programação Orientada à Objetos · Introdução Programas eram lineares e com poucos módulos (Programação estruturada); Aumento da complexidade dos sistemas](https://reader030.fdocumentos.com/reader030/viewer/2022020415/5becae9309d3f2d6718bb74d/html5/thumbnails/6.jpg)
Programação Orientada a Objetos
Representação:
CarroCasa JoséMora Dirige
Mundo Real
Casa José Carro
Projeto
Mora Dirige
![Page 7: Aula 04 Introdução à Programação Orientada à Objetos · Introdução Programas eram lineares e com poucos módulos (Programação estruturada); Aumento da complexidade dos sistemas](https://reader030.fdocumentos.com/reader030/viewer/2022020415/5becae9309d3f2d6718bb74d/html5/thumbnails/7.jpg)
Programação Orientada a Objetos
Vantagens:
Flexibilidade;
Reusabilidade;
Robustez;
Modularidade.
![Page 8: Aula 04 Introdução à Programação Orientada à Objetos · Introdução Programas eram lineares e com poucos módulos (Programação estruturada); Aumento da complexidade dos sistemas](https://reader030.fdocumentos.com/reader030/viewer/2022020415/5becae9309d3f2d6718bb74d/html5/thumbnails/8.jpg)
Programação Orientada a Objetos
Elementos básicos:
Objetos;
Classes;
Instâncias.
![Page 9: Aula 04 Introdução à Programação Orientada à Objetos · Introdução Programas eram lineares e com poucos módulos (Programação estruturada); Aumento da complexidade dos sistemas](https://reader030.fdocumentos.com/reader030/viewer/2022020415/5becae9309d3f2d6718bb74d/html5/thumbnails/9.jpg)
Objetos
Entidades concretas ou abstratas;
Tem características e podem executar ações;
“um objeto representa um item identificável, umaunidade ou entidade, individual, seja real ou abstrato,com uma regra bem definida”.
Possuem: Estado;
Comportamento;
Identidade.
OBJETO = DADOS + OPERAÇÕES
![Page 10: Aula 04 Introdução à Programação Orientada à Objetos · Introdução Programas eram lineares e com poucos módulos (Programação estruturada); Aumento da complexidade dos sistemas](https://reader030.fdocumentos.com/reader030/viewer/2022020415/5becae9309d3f2d6718bb74d/html5/thumbnails/10.jpg)
Objetos
Estado:
Define os estados possíveis que um objeto podeassumir;
São os valores dos atributos (propriedades).
Ex.:
LâmpadaAcesa
Apagada
![Page 11: Aula 04 Introdução à Programação Orientada à Objetos · Introdução Programas eram lineares e com poucos módulos (Programação estruturada); Aumento da complexidade dos sistemas](https://reader030.fdocumentos.com/reader030/viewer/2022020415/5becae9309d3f2d6718bb74d/html5/thumbnails/11.jpg)
Objetos
Comportamento:
São as funções/ações que podem ser executadas porum determinado objeto;
O que você pode fazer com esse objeto;
Corresponde aos métodos;
Ex.:
Lâmpada
Acender
Apagar
![Page 12: Aula 04 Introdução à Programação Orientada à Objetos · Introdução Programas eram lineares e com poucos módulos (Programação estruturada); Aumento da complexidade dos sistemas](https://reader030.fdocumentos.com/reader030/viewer/2022020415/5becae9309d3f2d6718bb74d/html5/thumbnails/12.jpg)
Objetos
Identidade:
Um objeto é único, mesmo que o seu estado sejaidêntico ao de outro;
Ex.:
Lâmpada Cód. De Fabricação 001; Incandescente;
Cód. De Fabricação 002; Incandescente;
![Page 13: Aula 04 Introdução à Programação Orientada à Objetos · Introdução Programas eram lineares e com poucos módulos (Programação estruturada); Aumento da complexidade dos sistemas](https://reader030.fdocumentos.com/reader030/viewer/2022020415/5becae9309d3f2d6718bb74d/html5/thumbnails/13.jpg)
Classes
Modelo ou esquema a partir do qual os objetossão criados (instanciados);
Considerada o molde dos objetos.
Modelam os objetos definindo:
Tipo de dados que o objeto armazena, ou seja, osestados possíveis que ele pode assumir (atributos);
Tipos de operações que podem ser executadas peloobjeto, ou seja, o seu comportamento (métodos).
![Page 14: Aula 04 Introdução à Programação Orientada à Objetos · Introdução Programas eram lineares e com poucos módulos (Programação estruturada); Aumento da complexidade dos sistemas](https://reader030.fdocumentos.com/reader030/viewer/2022020415/5becae9309d3f2d6718bb74d/html5/thumbnails/14.jpg)
Classe
Objetos são instâncias de classes
Os objetos Marcus, Maria e João foraminstanciados da Classe Cliente;
Cliente
Marcus Maria João
Classe
Objetos
![Page 15: Aula 04 Introdução à Programação Orientada à Objetos · Introdução Programas eram lineares e com poucos módulos (Programação estruturada); Aumento da complexidade dos sistemas](https://reader030.fdocumentos.com/reader030/viewer/2022020415/5becae9309d3f2d6718bb74d/html5/thumbnails/15.jpg)
Classe
Lembrando: Todo código Java obrigatoriamenteestá dentro de uma Classe;
A biblioteca Java padrão fornece milhares declasses para vários propósitos (API).
![Page 16: Aula 04 Introdução à Programação Orientada à Objetos · Introdução Programas eram lineares e com poucos módulos (Programação estruturada); Aumento da complexidade dos sistemas](https://reader030.fdocumentos.com/reader030/viewer/2022020415/5becae9309d3f2d6718bb74d/html5/thumbnails/16.jpg)
Orientação à Objetos na Prática
Faça a modelagem dos objetos envolvidos, suascaracterísticas e ações em um sistema de:
Supermercado;
Posto de Gasolina.
![Page 17: Aula 04 Introdução à Programação Orientada à Objetos · Introdução Programas eram lineares e com poucos módulos (Programação estruturada); Aumento da complexidade dos sistemas](https://reader030.fdocumentos.com/reader030/viewer/2022020415/5becae9309d3f2d6718bb74d/html5/thumbnails/17.jpg)
POO EM JAVA (INTRODUÇÃO)
![Page 18: Aula 04 Introdução à Programação Orientada à Objetos · Introdução Programas eram lineares e com poucos módulos (Programação estruturada); Aumento da complexidade dos sistemas](https://reader030.fdocumentos.com/reader030/viewer/2022020415/5becae9309d3f2d6718bb74d/html5/thumbnails/18.jpg)
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< > = Identificadores e palavras reservadas
![Page 19: Aula 04 Introdução à Programação Orientada à Objetos · Introdução Programas eram lineares e com poucos módulos (Programação estruturada); Aumento da complexidade dos sistemas](https://reader030.fdocumentos.com/reader030/viewer/2022020415/5becae9309d3f2d6718bb74d/html5/thumbnails/19.jpg)
Classes em Java
Exemplo de declarações de classe:
class Lampada {
// Variáveis// Métodos
}
public class Lampada {
// Variáveis// Métodos
}
public class Lampada extends Produto {
// Variáveis// Métodos
}
![Page 20: Aula 04 Introdução à Programação Orientada à Objetos · Introdução Programas eram lineares e com poucos módulos (Programação estruturada); Aumento da complexidade dos sistemas](https://reader030.fdocumentos.com/reader030/viewer/2022020415/5becae9309d3f2d6718bb74d/html5/thumbnails/20.jpg)
Atributos em Java
Definem as características do objeto
[<modificadores_atributo>] <tipo_atributo> <nome_atributo> [= valor_inicial];
[ ] = Opcionais< > = Identificadores e palavras reservadas
![Page 21: Aula 04 Introdução à Programação Orientada à Objetos · Introdução Programas eram lineares e com poucos módulos (Programação estruturada); Aumento da complexidade dos sistemas](https://reader030.fdocumentos.com/reader030/viewer/2022020415/5becae9309d3f2d6718bb74d/html5/thumbnails/21.jpg)
Atributos em Java
Exemplo:
double valor;
String marca = “fluorescente”;
public boolean estadoLampada = false;
![Page 22: Aula 04 Introdução à Programação Orientada à Objetos · Introdução Programas eram lineares e com poucos módulos (Programação estruturada); Aumento da complexidade dos sistemas](https://reader030.fdocumentos.com/reader030/viewer/2022020415/5becae9309d3f2d6718bb74d/html5/thumbnails/22.jpg)
Métodos em Java
Definem as ações que um objeto pode executar;
Sua definição corresponde à duas partes:
Assinatura;
Corpo.
[<modificadores_método>] <tipo_retorno> <nome_método> ([<parametros>]){
// Corpo do Método
}
[ ] = Opcionais< > = Identificadores e palavras reservadas
![Page 23: Aula 04 Introdução à Programação Orientada à Objetos · Introdução Programas eram lineares e com poucos módulos (Programação estruturada); Aumento da complexidade dos sistemas](https://reader030.fdocumentos.com/reader030/viewer/2022020415/5becae9309d3f2d6718bb74d/html5/thumbnails/23.jpg)
Métodos em Java
Exemplos:
Obs.: Obrigatório o uso dos parênteses.
public void acenderLampada(){
estadoLampada = true;
}
public int somar(int a, int b){
int resultado = a + b;return resultado;
}
![Page 24: Aula 04 Introdução à Programação Orientada à Objetos · Introdução Programas eram lineares e com poucos módulos (Programação estruturada); Aumento da complexidade dos sistemas](https://reader030.fdocumentos.com/reader030/viewer/2022020415/5becae9309d3f2d6718bb74d/html5/thumbnails/24.jpg)
Exemplo Completo
public class Lampada {
public boolean estadoLampada = false;
public void acenderLampada(){estadoLampada = true;
}
public void apagarLampada(){estadoLampada = false;
}
public boolean verEstadoLampada(){return estadoLampada;
}}
![Page 25: Aula 04 Introdução à Programação Orientada à Objetos · Introdução Programas eram lineares e com poucos módulos (Programação estruturada); Aumento da complexidade dos sistemas](https://reader030.fdocumentos.com/reader030/viewer/2022020415/5becae9309d3f2d6718bb74d/html5/thumbnails/25.jpg)
Atividade 1
Modelem os objetos com seus respectivosatributos e ações para:
Uma pessoa;
Um cliente de um supermercado;
Um produto de uma loja de informática;
Combustível de um posto de gasolina;
Um carro.