programação orientada a objetos classes e objetos - poo - classes e... · classes java e objetos...
Post on 10-Nov-2018
256 Views
Preview:
TRANSCRIPT
Programação Orientada a Objetos
Classes
e
Objetos
Prof. Vicente Paulo de Camargo
•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
Na POO um programa é visto como um conjunto de
objetos que se comunicam através de mensagens
PROGRAMAÇÃO ORIENTADA A OBJETOS
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
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
Um OBJETO possui ATRIBUTOS e COMPORTAMENTOS
OBJETOS
PROGRAMAÇÃO ORIENTADA A OBJETOS
OBJETOS CARRO e PESSOA
PROGRAMAÇÃO ORIENTADA A OBJETOS
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
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
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
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)?
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
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
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
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
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
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
•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
•Os Elementos em um DOMÍNIO são
representados em uma aplicação
através de OBJETOS.
OBJETOS
PROGRAMAÇÃO ORIENTADA A OBJETOS
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
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
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
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
POO - FUNDAMENTOS
F I M
top related