Upload
hoangkhanh
View
221
Download
0
Embed Size (px)
Citation preview
POO Programação Orientada a
ObjetosProf. Vicente Paulo de Camargo
PUCGO
O CONTEÚDO DOS SLIDES FAZ REFERÊNCIA AO MATERIAL DA APOSTILA K19-K11 E DO LIVRO JAVA – USE A CABEÇA E DO LIVRO JAVA – COMO PROGRAMAR (DEITHEL)
POO - FUNDAMENTOS
•A Programação Orientada a Objetos (POO)surgiu no final da década de 60 com alinguagem Simula-67.
•Os conceitos de POO foram aprimorados com alinguagem SmallTak
•C++ e Java popularizaram a POO
PROGRAMAÇÃO ORIENTADA A OBJETOS
POO - FUNDAMENTOS
Na POO um programa é visto como um conjunto de objetos que se comunicam através de mensagens
PROGRAMAÇÃO ORIENTADA A OBJETOS
POO - FUNDAMENTOS
Na POO um programa é visto como um conjunto de objetos que se comunicam através de mensagens
PROGRAMAÇÃO ORIENTADA A OBJETOS
Representam os comportamentos de
cada objeto
POO - FUNDAMENTOS
OBJETOS
•Objetos são usados para representar entidadesou “coisas” do mundo real
•Objetos são utilizados para representar aabstração da realidade para solucionar umdeterminado problema
POO - FUNDAMENTOS
OBJETOS
•Objetos são usados para representar entidadesou “coisas” do mundo real
•Objetos são utilizados para representar aabstração da realidade para solucionar umdeterminado problema
A ABSTRAÇÃO darealidade é desprezar oque é irrelevante para asolução do problema
POO - FUNDAMENTOS
OBJETOS
•Independentemente se é ANIMADO ouINANIMADO, CONCRETO ou ABSTRATO umobjeto possui certas características que facilitamsua identificação
•Essas características são denominadas deATRIBUTOS
•Os objetos possuem tambémCOMPORTAMENTOS que representam ações quesão executadas pelo objeto
POO - FUNDAMENTOS
Um OBJETO possui ATRIBUTOS e COMPORTAMENTOS
OBJETOS
POO - FUNDAMENTOS
OBJETOS CARRO e PESSOA
POO - FUNDAMENTOS
OBJETOS
•Um atributo é uma variável que pertence a umobjeto
•Os dados de um objeto são armazenados emseus atributos
POO - FUNDAMENTOS
OBJETOS
NÃO ESQUEÇA:
Os objetos não representam apenas coisas concretas comoos clientes de um banco ou de uma loja
Os objetos são utilizados para representar também coisasabstratas como, por exemplo, conta bancária, umaconsulta médica e outros
POO - FUNDAMENTOS
OBJETOS
LEMBRE-SE:
UM OBJETO É UMA VARIÁVEL DEFINIDA EM UMPROGRAMA E, EVIDENTEMENTE, ALOCA UMESPAÇO NA MEMÓRIA DO COMPUTADOR
POO - FUNDAMENTOS
CLASSES
•Os objetos são classificados conforme suassemelhanças
•A POO utiliza o conceito de CLASSE para modelar ecodificar os objetos com mesmas CARACTERÍSTICASe COMPORTAMENTOS
•Uma classe é um modelo ou molde para criação deobjetos
•Um objeto é denominado de INSTÂNCIA DE UMACLASSE
POO - FUNDAMENTOS
CLASSES
•Os objetos são classificados conforme suassemelhanças
•A POO utiliza o conceito de CLASSE para modelar ecodificar os objetos com mesmas CARACTERÍSTICASe COMPORTAMENTOS
•Uma classe é um modelo para criação de objetos
•Um objeto é denominado de INSTÂNCIA DE UMACLASSE
INSTÂNCIA É O SINÔNIMO DE OBJETO. UM OJETO É UMA INSTÂNCIA DE UMA
DETERMINADA CLASSE
POO - FUNDAMENTOS
CLASSES
NÃO ESQUEÇA:
ANTES DE UM OBJETO SER CRIADO DEVEMOS DEFINIRSEUS ATRIBUTOS E SEUS COMPORTAMENTOS
ESSA DEFINIÇÃO É REALIZADA EM UMA CLASSE
POO - FUNDAMENTOS
CLASSES
CONSIDERANDO QUE UM OBJETO É UMA VARIÁVEL,ENTÃO O TIPO DESSA VARIÁVEL É A PRÓPRIA CLASSE QUEMODELA O OBJETO
É POR ISSO QUE UM OBJETO É UMA INSTÂNCIA DE UMACLASSE
POO - FUNDAMENTOS
CLASSES JAVA
Cada programa Java é uma classe
Lembre que: Um programa Java compilado tem a extensão .class
Não esqueça: Cada programa fonte em Java tem a extensão .java
EXEMPLO DE CLASSE
CODIFICADA EM JAVA
POO - FUNDAMENTOS
CLASSES JAVA E OBJETOS
Todo programa Java é uma classe
Uma aplicação Java orientada a objetos poderá conter várias classes
Só uma dessas classes possuirá o public static void main(....)
Essa classe é o programa principal da aplicação
As demais classes serão modelos ou moldes dos objetos da aplicação
Qualquer classe poderá instanciar objetos de outra classe
Uma classe, em certas situações, poderá instanciar os seus próprios objetos
Em Java, a criação de um objeto objx de uma classe ClasseX possui o seguinte formato:
ClasseX objx = new ClasseX();
POO - FUNDAMENTOS
CLASSES JAVA E OBJETOS
Seja uma aplicação que permite acessar dados de pessoas.Neste caso, a aplicação terá duas classesA classe principal e uma classe para modelar objetos de pessoasExemplo de codificação da aplicação:
class Pessoa{String nome;int idade;
}
class Principal {public static void main(String[] args) {
Pessoa p = new Pessoa();p.nome = “Nome de Teste”;p.idade= 25;
}}
Na codificação Java para se acessar (ou alterar)o conteúdo de um atributo de umdeterminado objeto, de uma forma geral,deve-se informar o objeto seguido de ponto(.),que é seguido pelo nome do atributo
Esta classe é o molde para
objetos pessoa
Esta é a classe principal da
aplicação. Ela possui main()
Objeto p da classe Pessoa
POO - FUNDAMENTOS
CLASSES JAVA E OBJETOS
Complementos sobre a aplicação
class Pessoa{String nome;int idade;
}
class Principal {public static void main(String[] args) {
Pessoa p = new Pessoa();p.nome = “Nome de Teste”;p.idade= 25;
}}
Instanciação do objeto pda classe Pessoa
POO - FUNDAMENTOS
CLASSES JAVA E OBJETOS
Melhorando a aplicação. Escrevendo os dados do objeto Pessoa
class Pessoa{String nome;int idade;
}
class Principal {public static void main(String[] args) {
Pessoa p = new Pessoa();p.nome = “Nome de Teste”;p.idade= 25;String s =“Nome=“+p.nome+”\n”;s = s+”Idade=“+p.idade;
System.out.print(s)}
}
Concatena os conteúdos de cada atributo do objeto p na variável String s
Ou:String s=“Nome=“+p.nome+”\n”;
s+ = ”Idade=“+p.idade;
POO - FUNDAMENTOS
Exemplo da classe Carropublic class Carro {
String marca;String modelo;int marcha;int ano;
}
import java.util.*;public class Principal {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
Carro c = new Carro();System.out.print("Modelo:");String mo=sc.next();
System.out.print("Marca:");String ma=sc.next();
System.out.print("Marcha:");int mch=sc.nextInt();
System.out.print("Ano:");int a=sc.nextInt();
c.ano = a;c.marca=ma;c.marcha=mch;c.modelo=mo;
String s ="Objeto c:"+"\n";s+="Modelo="+c.modelo+"\n";s+="Marca ="+c.marca+"\n";s+="Marcha="+c.marcha+"\n";s+="Ano ="+c.ano;
System.out.print(s);}
}
POO - FUNDAMENTOS
CLASSES JAVA E OBJETOS – Exercício de Fixação
Elabore uma aplicação que permita criar doisobjetos da classe ContaBancaria, sendo queessa classe possui os seguintes atributos:numBanco(int),numAgencia (int), nomeAgencia(String) e limite (double). A aplicação deverásolicitar os conteúdos de cada atributo peloteclado e, em seguida, deve escrever osconteúdos de cada atributo dos dois objetoscriados. Use JOptionPane para entrada e saídados dados