Classes
e
Objetos
•
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
Na POO um programa é visto como um conjunto de
objetos que se comunicam através de mensagens
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
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
Um OBJETO possui ATRIBUTOS e COMPORTAMENTOS
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
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
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:
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();
Está lembrado de:
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()
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
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;
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
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.
Exercício de Fixação - solução
public 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); } }
•
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.
•
Os
Elementos
em um
DOMÍNIO
são
representados em uma aplicação
através de
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
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