|Introdução a Java para programadores Telis
Jogo de Dados simples O jogo é jogado por dois jogadores. Cada jogador faz sua jogada (lança um dado), e aquele que conseguir o maior valor será o vencedor.
Tipos de Objetos encontrados - Jogo - Jogador - Dado
Interfaces representam Tipos interface Dado {} interface Jogador {} interface Jogo {}
Classes implementam interfaces class JogadorDeDados implements Jogador{ } class DadoDeJogo implements Dado {} class JogoDeDados implements Jogo { }
Classe cliente: UmJogo class UmJogo { public static void main ( String[] argumentos ) { new JogoDeDados(); new JogadorDeDados(); new DadoDeJogo(); }
Construtor Método especial para construir objetos Mesmo nome da classe matriz Se você não fornecer, Java fornece (se e somente se) new JogadorDeDados(); new Jogo();
Execução de UmJogo Provoca invocação do método main de UmJogo Criação de quatro objetos anônimos
Classes estendem Classes Object é-um JogadorDeDados JogoDeDadosDadoDeJogo é-um Class JogadorDeDados extends Object {} desnecessário
Classes herdam de Classes toString Object JogadorDeDados extends umJogador = new JogadorDeDados(); umJogador.toString(); umJogador instance-of
Usando herança em UmJogo class UmJogo { public static void main ( String[] argumentos ) { Jogador j1; j1= new JogadorDeDados(); System.out.print ( j1.toString ); }
Declarar e Inicializar Jogador j1; Declarar (criar referencia) Inicializar (associar referencia a objeto) j1 = new JogadorDeDados(); null j1 null j1
Construindo um Construtor class JogoDeDados implements Jogo { JogoDeDados() { new Dado(); new Jogador(): new Jogador(); }
Usando o novo construtor class UmJogo { public static void main ( String[] argumentos ) { Jogo jogo = new JogoDeDados(); System.out.print ( jogo ) ; }
Objetos Compostos umJogo umDado umJogador outroJogador
Referências são apontadores seguros umJogador outroJogador umDado Alias: meuDado umJogo