POO Programação Orientada a Objetos - vpcamargo.com.br - POO - Introducao a... · Programação...

Post on 01-Feb-2018

223 views 0 download

Transcript of POO Programação Orientada a Objetos - vpcamargo.com.br - POO - Introducao a... · Programação...

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