Escolar Documentos
Profissional Documentos
Cultura Documentos
Carlos Olarte
4 de Agosto de 2016
Carlos Olarte
Classes e Objetos
4 de Agosto de 2016
1 / 25
Programacao OO
Ideia Geral
Criar um modelo de uma parte do mundo.
Representar os objetos que aparecem no domnio do problema.
Nesta aula aprenderemos a:
Definir uma classe.
Adicionar atributos e metodos a uma classe.
Utilizar comandos basicos de Java.
Utilizar corretamente os modificadores de acesso.
Carlos Olarte
Classes e Objetos
4 de Agosto de 2016
2 / 25
Classes e Abstracoes
Considere um carro:
1
Carlos Olarte
Classes e Objetos
4 de Agosto de 2016
3 / 25
Classes
Classes
Abstracao para agrupar objetos comuns que tem o mesmo
comportamento.
Descrevem de maneira abstrata o comportamento dos objetos.
A palavra classe vem da taxonomia da biologia. Todos os seres vivos de
uma mesma classe biologica tem uma serie de atributos e comportamentos
em comum, mas nao sao iguais, podem variar nos valores desses atributos
e como realizam esses comportamentos.
Carlos Olarte
Classes e Objetos
4 de Agosto de 2016
4 / 25
Objetos
Carlos Olarte
Classes e Objetos
4 de Agosto de 2016
5 / 25
Objetos e Classes
Carlos Olarte
Classes e Objetos
4 de Agosto de 2016
6 / 25
Atributos e Estado
Carlos Olarte
Classes e Objetos
4 de Agosto de 2016
7 / 25
Modificadores de acesso
Carlos Olarte
Classes e Objetos
4 de Agosto de 2016
8 / 25
Modificadores de acesso
Carlos Olarte
Classes e Objetos
4 de Agosto de 2016
9 / 25
Utilizando NetBeans
1
Criar um projeto:
Carlos Olarte
Classes e Objetos
4 de Agosto de 2016
10 / 25
Imprimir na tela
Funcao main
Ao criar o projeto com a opcao Create Main Class, NetBeans vai
criar uma classe com um u
nico metodo: main.
public static void main ( String [] args ) {
System . out . println ( " Alo Mundo Java !! " ) ;
// Posso imprimir n
u meros
System . out . println (3) ;
// N
u meros e Strings
System . out . println ( " Uma string e depois um
n
u mero " +3.1416 ) ;
}
Carlos Olarte
Classes e Objetos
4 de Agosto de 2016
11 / 25
Carlos Olarte
Classes e Objetos
4 de Agosto de 2016
12 / 25
Atributos de classe
Carlos Olarte
Classes e Objetos
4 de Agosto de 2016
13 / 25
Construtores
Para criar um objeto (uma instancia de uma classe) devemos utilizar os
construtores fornecidos pela classe:
Se nenhum construtor e definido, Java define um construtor default.
Uma classe pode definir varios construtores (com diferentes
parametros).
public Circulo ( double raio ) {
this . raio = raio ;
this . x = 0 ;
this . y = 0 ;
}
public Circulo ( double x , double y , double raio ) {
this . x = x ;
this . y = y ;
this . raio = raio ;
}
Carlos Olarte
Classes e Objetos
4 de Agosto de 2016
14 / 25
Criando objetos
No metodo main podemos criar objetos da classe Circulo para testar:
public static void main ( String [] args ) {
System . out . println ( " Alo Mundo Java !! " ) ;
Circulo c1 = new Circulo (5.5) ;
Circulo c2 = new Circulo (3.0 , -10.0 , 5.5) ;
}
Atencao!
Os atributos privados da classe nao podem ser acedidos no main (fora da
classe):
// erro de compila
c~
a o : raio has private access in
Circulo
System . out . println ( c1 . raio ) ;
Carlos Olarte
Classes e Objetos
4 de Agosto de 2016
15 / 25
Getters e Setters
Para acessar os atributos privados de uma classe:
Metodos get: retorna o valor de um atributo.
Metodos set: muda o valor de um atributo.
// getter
public double getRaio () {
return this . raio ;
}
// setter
public void setRaio ( double raio ) {
this . raio = raio ;
}
Warning!
Nao deve definir metodos set/get para atributos que nao deveriam ser
acessados pelos usuarios da classe.
Carlos Olarte
Classes e Objetos
4 de Agosto de 2016
16 / 25
Getters e Setters
Carlos Olarte
Classes e Objetos
4 de Agosto de 2016
17 / 25
Metodos
Example (getArea)
public double getArea () {
return 2 * Math . PI * Math . pow ( this . raio ,2) ;
}
Carlos Olarte
Classes e Objetos
4 de Agosto de 2016
18 / 25
Utilizando metodos
Carlos Olarte
Classes e Objetos
4 de Agosto de 2016
"
19 / 25
Exerccio
Carlos Olarte
Classes e Objetos
4 de Agosto de 2016
20 / 25
Questao
Carlos Olarte
Classes e Objetos
4 de Agosto de 2016
21 / 25
Solucao
public boolean iguais ( Complexo c ) {
if ( c . real == this . real && c . img == this . img )
return true ;
else
return false ;
}
Classes e Objetos
4 de Agosto de 2016
22 / 25
Carlos Olarte
Classes e Objetos
4 de Agosto de 2016
23 / 25
Exerccio 2
Defina a classe Pessoa com os seguintes atributos: Nome, Sobrenome e
Data de nascimento. Para a data, utilize a classe GregorianCalendar:
import java . util .*;
...
GregorianC alend ar x = new Gre gorian Calend ar
(1950 ,12 ,20) ;
Classes e Objetos
4 de Agosto de 2016
24 / 25
Exerccio 3
Carlos Olarte
Classes e Objetos
4 de Agosto de 2016
25 / 25