Computação II - Java Classes and Objects Computação II

Propaganda
Computação II - Java
Classes and Objects
Computação II - Java Prof. Adriano Joaquim de Oliveira Cruz
Classes and Objects
Nestes exercícios vamos usar diagramas inspirados em UML. A Figura 1 mostra um
exemplo dos diagramas que usaremos.
Os exercícios listados a seguir foram propostos a partir de listas minhas e Igor Vaz.
Dog
+size: double
-name: String
+bark()
+eat()
+chaseCat()
+getName(): String
Figura 1: Exemplo de diagrama de classe.
O diagrama mostrado na Figura 1 pode representar a classe mostrada na Listagem 1.
Repare que no diagrama os atributos e funções públicos são marcados com o sinal de +.
O sinal de − indica que o atributo ou função é privado.
Listagem 1: Listagem da classe Dog.
p u b l i c c l a s s Dog {
p u b l i c i n t size ;
p r i v ate String name ;
p u b l i c String getName () {
return name ;
}
p u b l i c void bark () {
}
p u b l i c void eat () {
}
p u b l i c void chaseCat () {
}
}
1
Adriano Cruz
Computação II - Java
Classes and Objects
Exercício 1: Quais são as coisas mais importantes que você precisa considerar quando
estiver projetando uma classe Java?
Exercício 2: O que define o estado de um objeto?
Exercício 3: Teste o programa mostrado nas Listagens 2 e 3. Descreva os elementos
principais do programa.
Observe o operador ponto (.). Este operador permite acesso ao estado de um objeto
(instance variables) e ao seu comportamento (métodos).
Listagem 2: Listagem da classe Cat.
p u b l i c c l a s s Cat {
p u b l i c i n t size ;
void meow () {
System . out . println ( " Meow ! Meow !");
}
}
Listagem 3: Listagem da classe TestCat.
p u b l i c c l a s s TestCat {
p u b l i c s t a t i c void main ( String [] args ) {
Cat c = new Cat () ;
c . size = 30;
c . meow () ;
}
}
Exercício 4: Pesquise para saber se existe, como na linguagem C, o conceito de variável
global. É possível definir uma variável como global?
Exercício 5: O programa mostrado nas listagens 4 e 5 não roda devido a um erro de
compilação. Descubra este erro, o corrija e verifique o seu funcionamento.
2
Adriano Cruz
Computação II - Java
Classes and Objects
Listagem 4: Listagem da classe Tiger.
p u b l i c c l a s s Tiger {
p u b l i c boolean canJump = f a l s e ;
void jump ( i n t times ) {
i f ( canJump == true ) {
f o r ( i n t i = 0; i < times ; i ++) {
System . out . println ( " Jump " );
}
}
}
}
Listagem 5: Listagem da classe TestTiger.
p u b l i c c l a s s TestTiger {
p u b l i c s t a t i c void main ( String [] args ) {
d . canJump = true ;
d . jump (3) ;
}
}
3
Adriano Cruz
Download