Programação Orientada a Objetos*

Slides:



Advertisements
Apresentações semelhantes
|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.
Advertisements

Programação Orientada a Objetos*
Programação Orientada a Objetos*
Paradigmas de Linguagens de Programação Paradima da Programação Orientada à Objetos Professor: Armando Hage Belém-2008.
Programação Orientada a Objetos com Java
Linguagem técnica de programação I Java
Tratamento de Exceções
Implementação Orientada a Objetos – Aula 05 Construtores e sobrecarga de métodos Prof. Danielle Martin Universidade de Mogi das Cruzes
Operador Condicional (? :). Operador Condicional Operador ternário que pode ser utilizado no lugar de uma instrução if...else.
Associação. 2 Desafio – Aula class Aluno { 2. private String nome; 3. private float nota; 4. public Aluno(String nome, float nota){ 5. this.nome.
CLASSES EM JAVA Dilvan Moreira (baseado no livro Big Java)
Tratamento de exceções em Java Prof. Gustavo Wagner (Alterações) Prof. Tiago Massoni (Slides Originais) Desenvolvimento de Sistemas FATEC-PB  Centro de.
CLASSES EM JAVA Dilvan Moreira (baseado no livro Big Java)
PROGRAMAÇÃO ORIENTADA A OBJETOS EM C++ Professor: Dilvan Moreira.
Linguagens de Programação Conceitos e Técnicas Expressões Prof. Isabel Cafezeiro
Linguagem de Programação – Aula 03 Prof. Me. Ronnison Reges Vidal.
Linguagens de Programação Conceitos e Técnicas Definições e declarações Prof. Isabel Cafezeiro
Princípios de Desenvolvimento de Algoritmos MAC122 Prof. Dr. Paulo Miranda IME-USP Variáveis e Atribuições.
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Classes Objetos Atributos Métodos Coletor de Lixo (Garbage Collector ) Confraria do Java Nivelamento. Caroline, Marcelo e Luiz 12/05/2007.
Introdução à Computação para Engenharia MAC2166
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal
Diges Feltrin Guizelini
UML – Diagramas de componentes
AsyncTask e Socket no Android
Linguagem C Para programadores Python
3.1 Classes e Objetos Em um programa orientado a objetos normalmente existem vários objetos de um mesmo tipo. Por exemplo, um programa de controle de.
Java: Interfaces Alcides Calsavara.
Introdução à Programação BCC 201 Aula
DESENVOLVIMENTO DE PROGRAMAS
Prof. Wellington Franco Manipulação de Arquivos em C
Criação e manipulação de objetos
Unidade IV– Relacionamento entre Objetos
UML – Diagramas de Componentes e Modelação da Arquitectura Física
Aula 11 – Padrão Singleton
Arquitetura de Computadores
FUNDAMENTO DE PROGRAMAÇÃO
UNIDADE 7 Tipos estruturados
Programação Orientada a Objetos
INE 5201 – INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO
Programação Orientada a Objetos
Tipos de Arquivos Arquivos podem armazenar caracteres (arquivo texto) ou bytes (arquivos binários); Na prática, arquivos textos são abertos por editores.
Algoritmos e Programação MC102
Daniel Paulo SQL Server 2016 Módulo II Daniel Paulo
Programação Orientada a Objetos*
Aula 8 – Padrão Singleton
Elaborando as Interfaces Aulas 37, 38 e 39.
Remote Method Invocation
Programação Orientada a Objetos*
Pacotes Servem para organizar o código, por exemplo, agrupar classes correlatas. Vamos supor uma classe Ponto2D pertencente ao pacote formas. A classe.
Programação Orientada a Objetos*
3.2 Sobrecarga de Métodos (Overloading)
Programação Orientada a Objetos*
Rosemary Silveira Filgueiras Melo
Rosemary Silveira Filgueiras Melo
Programação Orientada a Objetos
3.1.7 Variáveis de Classe e Instância
Programação Orientada a Objetos
Laboratório I Mateus Raeder.
Programação Orientada a Objetos*
Laboratório I Mateus Raeder.
Rosemary Silveira Filgueiras Melo
Programação Funcional
Tipos Primitivos de Dados
Prof. Rafael Mesquita Listas Encadeadas Prof. Rafael Mesquita
Programação Orientada a Objetos
Constantes, Variáveis e Memória
RESULUÇÃO DOS EXERCÍCIOS E
Percorrendo coleções com Iterator
Aula 10 Professores: Conteúdo: Dante Corbucci Filho
Transcrição da apresentação:

Programação Orientada a Objetos* Criando Aplicações em Java Prof. Isabel Cafezeiro isabel@dcc.ic.uff.br http://www.dcc.ic.uff.br/~isabel *Baseado no livro Introdução à Programação Orientada a Objetos usando JAVA – Rafael Santos – Editora Campus – Série SBC

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

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

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.

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

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)

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

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)

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);

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

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