24
Programação Orientada a Objetos Classes e Objetos Prof.Vicente Paulo de Camargo

Programação Orientada a Objetos Classes e Objetos - POO - Classes e... · CLASSES JAVA E OBJETOS Todo programa Java é uma classe* Uma aplicação Java orientada a objetos poderá

Embed Size (px)

Citation preview

Page 1: Programação Orientada a Objetos Classes e Objetos - POO - Classes e... · CLASSES JAVA E OBJETOS Todo programa Java é uma classe* Uma aplicação Java orientada a objetos poderá

Programação Orientada a Objetos

Classes

e

Objetos

Prof. Vicente Paulo de Camargo

Page 2: Programação Orientada a Objetos Classes e Objetos - POO - Classes e... · CLASSES JAVA E OBJETOS Todo programa Java é uma classe* Uma aplicação Java orientada a objetos poderá

•A Programação Orientada a Objetos

(POO) surgiu no final da década de 60

com a linguagem Simula-68.

•Os conceitos de POO foram

aprimorados com a linguagem SmallTak

•C++ e Java popularizaram a POO

PROGRAMAÇÃO ORIENTADA A OBJETOS

Page 3: Programação Orientada a Objetos Classes e Objetos - POO - Classes e... · CLASSES JAVA E OBJETOS Todo programa Java é uma classe* Uma aplicação Java orientada a objetos poderá

Na POO um programa é visto como um conjunto de

objetos que se comunicam através de mensagens

PROGRAMAÇÃO ORIENTADA A OBJETOS

Page 4: Programação Orientada a Objetos Classes e Objetos - POO - Classes e... · CLASSES JAVA E OBJETOS Todo programa Java é uma classe* Uma aplicação Java orientada a objetos poderá

OBJETOS

•Objetos são usados para representar

entidades do mundo real

•Objetos são utilizados para

representar a abstração da realidade

para solucionar um determinado

problema

•A ABSTRAÇÃO da realidade é

desprezar o que é irrelevante para a

solução do problema

PROGRAMAÇÃO ORIENTADA A OBJETOS

Page 5: Programação Orientada a Objetos Classes e Objetos - POO - Classes e... · CLASSES JAVA E OBJETOS Todo programa Java é uma classe* Uma aplicação Java orientada a objetos poderá

OBJETOS

•Independentemente se é ANIMADO ou

INANIMADO, CONCRETO ou ABSTRATO

um objeto possui certas características que

facilitam sua identificação

•Essas características são denominadas de

ATRIBUTOS

•Os objetos possuem também

COMPORTAMENTOS que representam ações

que cada objeto executa

PROGRAMAÇÃO ORIENTADA A OBJETOS

Page 6: Programação Orientada a Objetos Classes e Objetos - POO - Classes e... · CLASSES JAVA E OBJETOS Todo programa Java é uma classe* Uma aplicação Java orientada a objetos poderá

Um OBJETO possui ATRIBUTOS e COMPORTAMENTOS

OBJETOS

PROGRAMAÇÃO ORIENTADA A OBJETOS

Page 7: Programação Orientada a Objetos Classes e Objetos - POO - Classes e... · CLASSES JAVA E OBJETOS Todo programa Java é uma classe* Uma aplicação Java orientada a objetos poderá

OBJETOS CARRO e PESSOA

PROGRAMAÇÃO ORIENTADA A OBJETOS

Page 8: Programação Orientada a Objetos Classes e Objetos - POO - Classes e... · CLASSES JAVA E OBJETOS Todo programa Java é uma classe* Uma aplicação Java orientada a objetos poderá

CLASSES

•Os objetos são classificados conforme suas

semelhanças

•A POO utiliza o conceito de CLASSE para

modelar e codificar os objetos com mesmas

CARACTERÍSTICAS e COMPORTAMENTOS

•Uma classe é um modelo para criação de objetos

•Um objeto é denominado de INSTÂNCIA DE

UMA CLASSE

PROGRAMAÇÃO ORIENTADA A OBJETOS

Page 9: Programação Orientada a Objetos Classes e Objetos - POO - Classes e... · CLASSES JAVA E OBJETOS Todo programa Java é uma classe* Uma aplicação Java orientada a objetos poderá

CLASSES JAVA

Cada programa Java é uma classe

Um programa Java compilado tem a extensão .class

Cada programa fonte em Java tem a extensão .java

exemplo

PROGRAMAÇÃO ORIENTADA A OBJETOS

Page 10: Programação Orientada a Objetos Classes e Objetos - POO - Classes e... · CLASSES JAVA E OBJETOS Todo programa Java é uma classe* Uma aplicação Java orientada a objetos poderá

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

PROGRAMAÇÃO ORIENTADA A OBJETOS

Page 11: Programação Orientada a Objetos Classes e Objetos - POO - Classes e... · CLASSES JAVA E OBJETOS Todo programa Java é uma classe* Uma aplicação Java orientada a objetos poderá

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

PROGRAMAÇÃO ORIENTADA A OBJETOS

Está lembrado de:

Scanner sc = new Scanner(System.in)?

Page 12: Programação Orientada a Objetos Classes e Objetos - POO - Classes e... · CLASSES JAVA E OBJETOS Todo programa Java é uma classe* Uma aplicação Java orientada a objetos poderá

CLASSES JAVA E OBJETOS

Seja uma aplicação que permite acessar dados de pessoas.

Neste caso, a aplicação terá duas classes

A classe principal e uma classe para modelar objetos de pessoas

Exemplo 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

um determinado 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

PROGRAMAÇÃO ORIENTADA A OBJETOS

Page 13: Programação Orientada a Objetos Classes e Objetos - POO - Classes e... · CLASSES JAVA E OBJETOS Todo programa Java é uma classe* Uma aplicação Java orientada a objetos poderá

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 p

da classe Pessoa

PROGRAMAÇÃO ORIENTADA A OBJETOS

Page 14: Programação Orientada a Objetos Classes e Objetos - POO - Classes e... · CLASSES JAVA E OBJETOS Todo programa Java é uma classe* Uma aplicação Java orientada a objetos poderá

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;

PROGRAMAÇÃO ORIENTADA A OBJETOS

Page 15: Programação Orientada a Objetos Classes e Objetos - POO - Classes e... · CLASSES JAVA E OBJETOS Todo programa Java é uma classe* Uma aplicação Java orientada a objetos poderá

RESUMINDO: APLICAÇÃO JAVA

•Uma aplicação Java possui , geralmente, um programa principal

•Esse programa principal instancia as demais classes e referencia,

caso necessite, os seus respectivos métodos

•Esse programa principal será o único que terá o método main

•Exemplo:

PROGRAMAÇÃO ORIENTADA A OBJETOS

Page 16: Programação Orientada a Objetos Classes e Objetos - POO - Classes e... · CLASSES JAVA E OBJETOS Todo programa Java é uma classe* Uma aplicação Java orientada a objetos poderá

CLASSES JAVA E OBJETOS – Exercício de Fixação

Elabore uma aplicação que permita

criar dois objetos de uma classe

Carro, sendo que essa classe possui os

seguintes atributos: marca (String),

modelo(String), marcha(int), ano(int).

A aplicação deverá solicitar os

conteúdos de cada atributo pelo

teclado e, em seguida, deve escrever

os conteúdos de cada atributo dos

dois objetos criados.

PROGRAMAÇÃO ORIENTADA A OBJETOS

Page 17: Programação Orientada a Objetos Classes e Objetos - POO - Classes e... · CLASSES JAVA E OBJETOS Todo programa Java é uma classe* Uma aplicação Java orientada a objetos poderá

Exercício de Fixação - soluçãopublic 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);

}

}

PROGRAMAÇÃO ORIENTADA A OBJETOS

Page 18: Programação Orientada a Objetos Classes e Objetos - POO - Classes e... · CLASSES JAVA E OBJETOS Todo programa Java é uma classe* Uma aplicação Java orientada a objetos poderá

•Um DOMÍNIO é composto por elementos

como informações, entidades e processos

relacionados em um determinado contexto

•Como exemplo, considere uma aplicação de

controle de um supermercado. Podemos

identificar clientes, funcionários, fornecedores

e produtos. Além disso, podemos identificar os

processos relacionados a essas entidades

como cupom fiscal e pedidos de compra.

DOMÍNIO E APLICAÇÃO

PROGRAMAÇÃO ORIENTADA A OBJETOS

Page 19: Programação Orientada a Objetos Classes e Objetos - POO - Classes e... · CLASSES JAVA E OBJETOS Todo programa Java é uma classe* Uma aplicação Java orientada a objetos poderá

•Os Elementos em um DOMÍNIO são

representados em uma aplicação

através de OBJETOS.

OBJETOS

PROGRAMAÇÃO ORIENTADA A OBJETOS

Page 20: Programação Orientada a Objetos Classes e Objetos - POO - Classes e... · CLASSES JAVA E OBJETOS Todo programa Java é uma classe* Uma aplicação Java orientada a objetos poderá

COMPORTAMENTOS

Um comportamento expressa uma ação que um

objeto ou instância de uma classe pode executar

Na POO um comportamento é expresso através de

MÉTODOS

Um método é um bloco de código entre chaves que

fica dentro de uma classe

Um método necessita de um IDENTIFICADOR, de

UM RETORNO e de UMA LISTA DE PARÂMETROS

O tipo de retorno pode ser, por exemplo, um inteiro, decimal,

String, booleano, array etc. Quando não ocorrer retorno utiliza-

se void

O identificador de um método é constituído da

mesma forma que o identificador de variáveis

PROGRAMAÇÃO ORIENTADA A OBJETOS

Page 21: Programação Orientada a Objetos Classes e Objetos - POO - Classes e... · CLASSES JAVA E OBJETOS Todo programa Java é uma classe* Uma aplicação Java orientada a objetos poderá

COMPORTAMENTOS – cont.

Um parâmetro possui um TIPO e um IDENTIFICADOR

Um parâmetro recebe valores de outros locais da aplicação

Quando existir mais de um parâmetro, deve-se separá-los por

vírgula

Tipo do

retorno

O uso de parâmetro em um método

é opcional, depende da necessidade

Use return

para

retornar um

conteúdo

PROGRAMAÇÃO ORIENTADA A OBJETOS

Page 22: Programação Orientada a Objetos Classes e Objetos - POO - Classes e... · CLASSES JAVA E OBJETOS Todo programa Java é uma classe* Uma aplicação Java orientada a objetos poderá

COMPORTAMENTO / variável local – cont.

•Pode-se criar variáveis dentro de um método

•Essas variáveis são denominadas de VARIÁVEIS

LOCAIS

O ciclo de vida de uma VARIÁVEL LOCAL dura

enquanto o método estiver sendo executado

PROGRAMAÇÃO ORIENTADA A OBJETOS

Page 23: Programação Orientada a Objetos Classes e Objetos - POO - Classes e... · CLASSES JAVA E OBJETOS Todo programa Java é uma classe* Uma aplicação Java orientada a objetos poderá

COMPORTAMENTO – MAIS UM EXEMPLO

Usa-se o this

para

referenciar as

variáveis de

instância

this . total =

total; Pode ser um

parâmetro ou uma

variável local

PROGRAMAÇÃO ORIENTADA A OBJETOS

Page 24: Programação Orientada a Objetos Classes e Objetos - POO - Classes e... · CLASSES JAVA E OBJETOS Todo programa Java é uma classe* Uma aplicação Java orientada a objetos poderá

POO - FUNDAMENTOS

F I M