Java TM e o Modelo de Objetos



Documentos relacionados
Orientação a Objetos com Java

Introdução a Java. Hélder Nunes

Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)

Programação Orientada a Objetos em Java

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

Programação com Acesso a BD. Programação com OO Acesso em Java

Java. Marcio de Carvalho Victorino

Técnicas de Programação II

Análise e Projeto Orientados por Objetos

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

Exercícios de Revisão Java Básico

Programas eram lineares e com poucos módulos (Programação estruturada) Aumento da complexidade dos sistemas e difícil reusabilidade dos mesmos

Programação Visual TIC - 3PA. Lista de Exercícios 02

Análise de Programação

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

Orientação a Objetos

Paradigmas da Programação PPROG. Linguagem JAVA. Interfaces. (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33

Projeto de Software Orientado a Objeto

Unidade IV: Ponteiros, Referências e Arrays

Programação por Objectos. Java

public void setdata(data d) { data = d;

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Prof. Jhonatan Fernando

Módulo 07 Características Avançadas de Classes

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP

Reuso com Herança a e Composiçã

Classes Abstratas e Interfaces

DEFINIÇÃO DE MÉTODOS

Módulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010

Programação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM

Programação Orientada a Objetos C ++ 4 Conceitos de OO em Java Classes e Objetos

Influenciam nossa percepção; ajudam-nos a organizar e a coordenar a Classes estimulam projeto centrado em dados:

Prof. Esp. Adriano Carvalho

Implementando uma Classe e Criando Objetos a partir dela

Sistemas Paralelos e Distribuídos /2004 Curso: Matemática /Informática Sistemas Distribuídos /2004 Curso: Ensino da Informática

Programação Avançada

Construção de novas Classes em Java. Classes Atributos Métodos Herança...

Num sistema de objectos distribuídos, dois conceitos são fundamentais.

Módulo 06 Desenho de Classes

Introdução à orientação a objetos. João Tito Almeida Vianna 25/05/2013

Java 2 Standard Edition Como criar classes e objetos

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes

Programação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM

Programação Orientada por Objetos

Programação por Objectos. Java

Java Básico. Matrícula de Alunos. Marco Antonio, Arquiteto de Software TJDF Novembro/2005

PROGRAMANDO EM C# ORIENTADO A OBJETOS

Java Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp

Sobre o Professor Dr. Sylvio Barbon Junior

Universidade da Beira Interior. Sistemas Distribuídos

Algoritmos e Programação II. Sobrecarga

Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes

Aula 04 Operadores e Entrada de Dados. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Introdução à Programação. Interface, Polimorfismo e Dynamic Binding

Capítulo 14. Herança a e Polimorfismo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Programação Orientada a Objetos (DPADF 0063)

public Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos.

Técnicas de Programação Avançada TCC Profs.: Anselmo Montenegro Conteúdo: Introdução à Orientação a Objetos

Keeper of Knowledge. Capítulo 2 Classes em Java

A Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação

5 Caso de estudo O cartão fidelidade

Polimorfismo. Prof. Leonardo Barreto Campos 1

LINGUAGEM ORIENTADA A OBJETOS

Herança. Alberto Costa Neto DComp - UFS

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição

7 RTTI e Interfaces. Desenvolvimento OO com Java. Vítor E. Silva Souza (vitorsouza@inf.ufes.br)

Capítulo 3. Programação por objectos em Java

Sistemas Distribuídos

Programação Orientada a Objetos (DPADF 0063)

Noções sobre Objetos e Classes

BSI UFRPE Prof. Gustavo Callou

Invocação de Métodos Remotos RMI (Remote Method Invocation)

Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Cartão de fidelização de clientes das distribuidoras de combustível.

Alocação Dinâmica e Transparente de Computadores Ociosos em Java

Programação Orientada a Objetos em java. Polimorfismo

Roteiro do Programa e Entrada/Saída

Um pouco do Java. Prof. Eduardo

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Orientação a Objetos

Computação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Herança, Polimorfismo e Construtores

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.

Introdução à Programação. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

Programação Orientada a Objetos. Pacotes e CLASSPATH: Definifdo e Usando Pacotes

Estrutura em Camadas. Estrutura em Camadas. Alcides Pamplona Alcides Pamplona Linguagem de Programação CESBD 2010

Programação Paralela e Distribuída. Prof. Cidcley T. de Souza

Desenvolvimento OO com Java Orientação a objetos básica

Laboratório I Aula 2

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB)

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA

Programação com Objectos Teste Teórico 04 de Janeiro de 2010, 09:00 (120 minutos)

Programação Orientada a Objetos em Java. Herança

Transcrição:

Java TM e o Modelo de Objetos Java Deployment Course: Aula 1 por Jorge H C Fernandes (jorge@dimap.ufrn.br) DIMAp-UFRN

Java e o Modelo de Objetos Objetivos desta Aula Introduzir conceitos básicos do modelo de objetos Criar um pequeno programa em Java que demonstre a aplicação dos conceitos de orientação a objetos

Alcance dos Conceitos do Modelo de Objetos Domínios Aplicações Frameworks Bibliotecas Linguagens Ferramentas Máquina Virtual Sistema Operacional Hardware O Modelo de Objetos

Conceitos Básicos do Modelo de Objetos

Conceitos Básicos do Modelo de Objetos : Parte 1 Objetos Atributos, Variáveis, Campos Métodos Mensagens Classes

O Quê é um Objeto? Um módulo de software bem definido, que está presente em um programa em execução Apresenta um conjunto de atributos e métodos Possui uma identidade e um comportamento bem definidos Ocupa espaço na memória, assim como um processo (programa em execução)

Representação Gráfica de um Objeto emiteextrato() numero saldo transações Métodos de interagir com o objeto. Compõem a interface do objeto credite() debite() Atributos do objeto. Compõem o estado do objeto.

Outras Representações para Objetos contabancária emiteextrato() credite(valor, data) debite(valor, data) numero saldo transações credite() emiteextrato() numero saldo transações debite() número saldo transações emiteextrato() credite(valor, data) debite(valor, data)

Atributos de um Objeto Os atributos de um objeto são armazenados no interior destes, através de VARIÁVEIS ou CAMPOS Os campos de um objeto AGREGAM Valores primitivos (inteiros, bytes, etc) e, Referências a outros objetos O valor dos campos de um objeto em um determinado momento forma seu ESTADO

Objetos Agregando outros Objetos Cliente Banco Cliente Cliente Clientes[] Contas[] Cliente Conta Conta Conta Transação[] Transação[] Transação[] Débito Crédito Débito Débito Débito Credito Crédito

Método É a porta exterior através do qual se interage com o objeto Um método é definido pela sua assinatura e pelo código que executa quando invocado // O método debite descreve o que uma // conta bancária deve fazer quando debitando void debite(int valor, String data) { saldo = saldo - valor;... }

Mensagem Corresponde à invocação de método de um objeto (chamado) por outro objeto (chamador) Banco Conta conta Bancaria debite(100, 11/5/1996 ) Mensagem contabancaria.debite(100, 11/5/1996 );

Qual o Saldo da Conta Após a Invocação do Método Credite? debite(100, 11/5/1996 ) Conta Mensagem saldo=300 Conta saldo=?

Classes São o código que define o comportamento dos objetos São moldes para criação de objetos Muitos Objetos, Poucas Classes A classe é responsável pela criação dos objetos

Representação Gráfica de uma Classe e Vários Objetos ContaBancária emiteextrato() numero saldo transações Conta #1 emiteextrato() credite() debite() Conta #2 emiteextrato() Conta #3 emiteextrato() credite() debite() credite() debite() credite() debite() Conta #4 emiteextrato() credite() debite()

Outra Representações Gráficas para Classe e Objeto Conta emiteextrato() credite(valor, data) debite(valor, data) numero saldo transações Conta numero=1 saldo=500 transações Conta numero=2 saldo=500 transações

Criação de Algumas Contas e Transações Crédito new new Débito new new new new new new Conta

Definindo a Classe ContaBancária em Java public class ContaBancaria { private int numero; private int saldo; private Transacao[] transacoes; // método construtor public ContaBancaria(int numero) {...} // métodos de instância public void debite(int valor, String data) {... } public void credite(int valor, String data) {... } public void emiteextrato() {... } }

Criando Contas Bancárias class ContaBancaria ContaBancaria(int) new ContaBancaria(1); new ContaBancaria(2); #1 numero debite(int, String) #2 Banco new ContaBancaria(33); #33 ContaBancaria(int) numero debite(int, String) Método construtor Atributo (variável de instância) Método (de instância)

Criando Contas Bancárias Três contas bancárias criadas dentro de um banco. class Banco { ContaBancaria conta1, conta2, conta33; public void crietrescontas() { conta1 = new ContaBancaria(1); conta2 = new ContaBancaria(2); conta3 = new ContaBancaria(33); }... }

Exercício: Encontrando Classes e Objetos

Onde Estão as Classes, Objetos, Métodos e Atributos? De um sistema de Gestão de pessoal? Tributação? Controle de tráfego aéreo? Hospitalar? Automação fabril? etc

Exercício Simulado: Criação do Sistema de Controle Bancário

Controle de Conta Bancária Definir classes ContaBancária, Transação, TransaçãoDébito e TransaçãoCredito Elaborar um esquema polimórfico de emissão de extrato bancário que utilize as classes acima Elaborar código que cria uma ContaBancária, realiza algumas transações de crédito e débito e emitir um extrato

Polimorfismo em uma Aplicação Bancária Transacao Conta Crédito Debito Débito Crédito Débito

Transação: Projeto Estado formado pelo valor e data Métodos: Construtor (valor e data) Emite linha de extrato (abstrato) Recupera valor da transação Recupera data da transação Indica qual a variação que a transação realiza sobre o saldo da conta (abstrato)

Transação: Implementação Valor da transação armazenado como inteiro (int) Data da transação armazenada como string (String) Emissão de linha de extrato efetuada através da saída padrão (System.out)

Transação: Esqueleto de Código abstract class Transacao { int valor; String data; Transacao(int valor, String data) {..} int getvalor(){..} String getdata() {..} } abstract int getvariação(); abstract void emitelinhaextrato();

TransaçãoCrédito: Projeto e Implementação Herda de transação Implementa métodos abstratos de transação Emite linha de extrato Indica a variação POSITIVA que a transação realiza sobre o saldo da conta

TransaçãoCrédito: Esqueleto de Código class TransacaoCredito extends Transacao { TransacaoCredito(int valor, String data) {..} } int getvariação() {..} void emitelinhaextrato() {..}

TransaçãoDébito: Projeto e Implementação Herda de transação Implementa métodos abstratos de transação Emite linha de extrato Indica a variação NEGATIVA que a transação realiza sobre o saldo da conta

TransaçãoDébito: Esqueleto de Código class TransacaoDebito extends Transacao { TransacaoDebito(int valor, String data) {..} } int getvariação() {..} void emitelinhaextrato() {..}

ContaBancária: Projeto Estado formado pelo número da conta, saldo anterior e transações efetuadas Métodos: Construtor (número da conta) Recupera número da conta Recupera saldo atual da conta Lança débito (valor e data) Lança crédito (valor e data) Emite extrato

ContaBancária: Implementação O saldo inicial da conta é sempre 0 Saldo armazenado como inteiro (int), representa o saldo antes de efetivar as transações (saldo anterior) Transações são armazenadas em um array de tamanho fixo Emissão de extrato efetuada através da saída padrão (System.out.println())

ContaBancária: Esqueleto de Código class ContaBancaria { int numero; int saldoanterior; Transacao[] transacoes; } ContaBancaria(int numero) {..} int getnumero(){..} int getsaldoatual() {..} void debite(int valor, String data) {..} void credite(int valor, String data) {..} void emiteextrato() {..}

Criação de Contas e Transações class ContaBancaria {.. public static void main(string[] args) { ContaBancaria conta = new ContaBancaria(...);.. conta.debite(20, 23/04/1999 ); conta.credite(40, 26/04/1999 );.. conta.emiteextrato();.. } }

Exercício Simulado: Usando o JBuilder Familiarizando-se com a interface Criação de projetos e classes Criação do HelloWorld Criação do Sistema de Controle de Conta Bancária definido anteriormente