A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Programação Orientada a Objetos*

Apresentações semelhantes


Apresentação em tema: "Programação Orientada a Objetos*"— Transcrição da apresentação:

1 Programação Orientada a Objetos*
Criando Aplicações em Java Prof. Isabel Cafezeiro *Baseado no livro Introdução à Programação Orientada a Objetos usando JAVA – Rafael Santos – Editora Campus – Série SBC

2 Classes implementam modelos.
A Aplicação em Java Classes implementam modelos. Aplicações ? Programa ? Sistema ? Dinâmica da execução ?

3 A Aplicação em Java programadores de classes programadores usuários
contrato prevêem e disponibilizam os serviços a serem oferecidos pela classe usam as classes, através dos serviços oferecidos, para compor aplicações

4 A Aplicação em Java No programa usuário (aplicação):
Ponto de entrada: classe com método main public static void main (String[] nome) Recomenda-se: main: o único método de uma classe O método main pode ser usado por outra classe. O método main pode receber como argumentos uma quantidade arbitrária de dados informados no momento da execução O método main não tem dados de retorno. O método main pode ser chamado sem que seja criada uma instância da classe.

5 A Aplicação em Java main: único método da classe. Ponto de entrada da aplicação. Declara e cria instâncias de datas. Inicializa e mostra datas, usando os serviços da classe Data. class DemoData1 { public static void main(String[] argumentos) Data hoje = new Data(); Data amanhã = new Data(); hoje.inicializaData((byte)20,(byte)4,(short)2006); hoje.mostraData(); amanhã.inicializaData((byte)20,(byte)4,(short)2006); amanhã.mostraData(); amanhã.mês = 10; } // fim do método main } // fim da classe DemoData DemoData1.java Erro de compilação! Tentativa de acesso a campo privado. C:\>javac DemoData1.java DemoData1.java:16: mês has private access in Data amanhã.mês = 10; ^ 1 error

6 A Aplicação em Java Para usar um objeto da classe:
Criar a instância: new Declarar a referência para a classe. Associar a referência à instância: atribuição (2) Data hoje; hoje = new Data( ); Data hoje = new Data( ); (1) (2) (1) (3) (3)

7 A Aplicação em Java É possível criar múltiplas referências à instâncias: Referências que não são associadas à instâncias não podem ser usadas: Data hoje,d; hoje = new Data( ); hoje.inicializaData((byte)20,(byte)4,(short)2006); d = hoje; 20/04/2006 hoje d Erro de compilação!!! Tentativa de usar uma referência não instanciada. Data d1; d1.inicializaData((byte)20,(byte)4,(short)2006); C:\>javac DemoData1.java DemoData1.java:20: variable d1 might not have been initialized d1.inicializaData((byte)20,(byte)4,(short)2006); ^ 1 error

8 A Aplicação em Java Referências podem ser instanciadas com o valor null: neste caso, a tentativa de uso permite a compilação, mas não a execução. Data d1 = null; d1.inicializaData((byte)20,(byte)4,(short)2006); Erro de execução!!! Tentativa de usar uma referência que aponta para o valor null. C:\>java DemoData1 Exception in thread "main" java.lang.NullPointerException at DemoData1.main(DemoData1.java:8)

9 A Aplicação em Java A impressão dos dados de uma classe:
deve ser feita campo a campo, através do método print do campo out da classe System public void mostraData() { System.out.print(dia); System.out.print("/"); System.out.print(mês); System.out.println(ano); } // fim do método mostraData Data.java System.out.println(dia+"/"+mês+"/"+ano);

10 A Aplicação em Java A impressão dos dados de uma classe:
Pode ser facilitada pela declaração do método toString: quando declarado em uma classe, toString permite que os objetos da classe sejam impressos diretamente, como se fosse uma string. public String toString () { String saída = dia + "/" + mês + "/" + ano; return saída; } // fim do método toString Data d = new Data( ); d.inicializaData((byte)20,(byte)4,(short)2006); System.out.print(d); na classe Data.java na classe usuária de Data.java

11 A leitura dos dados de uma classe: Keyboard
A Aplicação em Java A leitura dos dados de uma classe: Keyboard class DemoData2 { public static void main(String[] argumentos) Data hoje = new Data(); System.out.print("Entre com o dia: "); byte dia = Keyboard.readByte(); System.out.print("Entre com o mês: "); byte mês = Keyboard.readByte(); System.out.print("Entre com o ano: "); short ano = Keyboard.readShort(); hoje.inicializaData(dia,mês,ano); hoje.mostraData(); } // fim do método main } // fim da classe DemoData2 DemoData2.java


Carregar ppt "Programação Orientada a Objetos*"

Apresentações semelhantes


Anúncios Google