23
POO Programação Orientada a Objetos Prof. 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 Programação Orientada a Objetos - vpcamargo.com.br - POO - Introducao a... · Programação Orientada a Objetos ... linguagem Simula-67. ... objeto possui certas características

Embed Size (px)

Citation preview

Page 1: POO Programação Orientada a Objetos - vpcamargo.com.br - POO - Introducao a... · Programação Orientada a Objetos ... linguagem Simula-67. ... objeto possui certas características

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)

Page 2: POO Programação Orientada a Objetos - vpcamargo.com.br - POO - Introducao a... · Programação Orientada a Objetos ... linguagem Simula-67. ... objeto possui certas características

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

Page 3: POO Programação Orientada a Objetos - vpcamargo.com.br - POO - Introducao a... · Programação Orientada a Objetos ... linguagem Simula-67. ... objeto possui certas características

POO - FUNDAMENTOS

Na POO um programa é visto como um conjunto de objetos que se comunicam através de mensagens

PROGRAMAÇÃO ORIENTADA A OBJETOS

Page 4: POO Programação Orientada a Objetos - vpcamargo.com.br - POO - Introducao a... · Programação Orientada a Objetos ... linguagem Simula-67. ... objeto possui certas características

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

Page 5: POO Programação Orientada a Objetos - vpcamargo.com.br - POO - Introducao a... · Programação Orientada a Objetos ... linguagem Simula-67. ... objeto possui certas características

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

Page 6: POO Programação Orientada a Objetos - vpcamargo.com.br - POO - Introducao a... · Programação Orientada a Objetos ... linguagem Simula-67. ... objeto possui certas características

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

Page 7: POO Programação Orientada a Objetos - vpcamargo.com.br - POO - Introducao a... · Programação Orientada a Objetos ... linguagem Simula-67. ... objeto possui certas características

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

Page 8: POO Programação Orientada a Objetos - vpcamargo.com.br - POO - Introducao a... · Programação Orientada a Objetos ... linguagem Simula-67. ... objeto possui certas características

POO - FUNDAMENTOS

Um OBJETO possui ATRIBUTOS e COMPORTAMENTOS

OBJETOS

Page 9: POO Programação Orientada a Objetos - vpcamargo.com.br - POO - Introducao a... · Programação Orientada a Objetos ... linguagem Simula-67. ... objeto possui certas características

POO - FUNDAMENTOS

OBJETOS CARRO e PESSOA

Page 10: POO Programação Orientada a Objetos - vpcamargo.com.br - POO - Introducao a... · Programação Orientada a Objetos ... linguagem Simula-67. ... objeto possui certas características

POO - FUNDAMENTOS

OBJETOS

•Um atributo é uma variável que pertence a umobjeto

•Os dados de um objeto são armazenados emseus atributos

Page 11: POO Programação Orientada a Objetos - vpcamargo.com.br - POO - Introducao a... · Programação Orientada a Objetos ... linguagem Simula-67. ... objeto possui certas características

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

Page 12: POO Programação Orientada a Objetos - vpcamargo.com.br - POO - Introducao a... · Programação Orientada a Objetos ... linguagem Simula-67. ... objeto possui certas características

POO - FUNDAMENTOS

OBJETOS

LEMBRE-SE:

UM OBJETO É UMA VARIÁVEL DEFINIDA EM UMPROGRAMA E, EVIDENTEMENTE, ALOCA UMESPAÇO NA MEMÓRIA DO COMPUTADOR

Page 13: POO Programação Orientada a Objetos - vpcamargo.com.br - POO - Introducao a... · Programação Orientada a Objetos ... linguagem Simula-67. ... objeto possui certas características

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

Page 14: POO Programação Orientada a Objetos - vpcamargo.com.br - POO - Introducao a... · Programação Orientada a Objetos ... linguagem Simula-67. ... objeto possui certas características

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

Page 15: POO Programação Orientada a Objetos - vpcamargo.com.br - POO - Introducao a... · Programação Orientada a Objetos ... linguagem Simula-67. ... objeto possui certas características

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

Page 16: POO Programação Orientada a Objetos - vpcamargo.com.br - POO - Introducao a... · Programação Orientada a Objetos ... linguagem Simula-67. ... objeto possui certas características

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

Page 17: POO Programação Orientada a Objetos - vpcamargo.com.br - POO - Introducao a... · Programação Orientada a Objetos ... linguagem Simula-67. ... objeto possui certas características

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

Page 18: POO Programação Orientada a Objetos - vpcamargo.com.br - POO - Introducao a... · Programação Orientada a Objetos ... linguagem Simula-67. ... objeto possui certas características

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();

Page 19: POO Programação Orientada a Objetos - vpcamargo.com.br - POO - Introducao a... · Programação Orientada a Objetos ... linguagem Simula-67. ... objeto possui certas características

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

Page 20: POO Programação Orientada a Objetos - vpcamargo.com.br - POO - Introducao a... · Programação Orientada a Objetos ... linguagem Simula-67. ... objeto possui certas características

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

Page 21: POO Programação Orientada a Objetos - vpcamargo.com.br - POO - Introducao a... · Programação Orientada a Objetos ... linguagem Simula-67. ... objeto possui certas características

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;

Page 22: POO Programação Orientada a Objetos - vpcamargo.com.br - POO - Introducao a... · Programação Orientada a Objetos ... linguagem Simula-67. ... objeto possui certas características

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);}

}

Page 23: POO Programação Orientada a Objetos - vpcamargo.com.br - POO - Introducao a... · Programação Orientada a Objetos ... linguagem Simula-67. ... objeto possui certas características

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