ÇÃO COM OBJECTOS PROGRAMAÇÃ. Programação com Objectos. Programação com Objectos TUDO É UM OBJECTO TUDO É UM OBJECTO ÍNDICE.



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

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

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

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

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

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

Linguagem C Tipos de Dados. void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador

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

Slides_Java_1 !"$ % & $ ' ' Output: Run java. Compile javac. Name of program. Must be the same as name of file. Java source code.

3 Classes e instanciação de objectos (em Java)

insfcanceof new public switch transient while byte continue extends for int null

Como o FIT funciona. FIT: Framework for Integrated Tests FIT. Dados de testes. Programa. Fixtures. classes. Resultados de testes

Programação por Objectos. Java

Conversão de Tipos e Arrays

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

Sintaxe Básica de Java Parte 1

Programação por Objectos. Java

Computação II Orientação a Objetos

Exemplo 1. Um programa que cria uma instância de uma classe que herda da classe Frame

Encapsulamento de Dados

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31

Organização de programas em Java. Vanessa Braganholo

Criar a classe Aula.java com o seguinte código: Compilar e Executar

Algoritmos e Programação

Programação de Computadores - I. Profª Beatriz Profº Israel

Linguagem de Programação I. Orientação a Objetos em Java

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Algoritmos e Programação II. Sobrecarga

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Roteiro 1: Dados, variáveis, operadores e precedência

VIII. VARIÁVEIS. Tabela I ARQUITETURA DA MEMÓRIA. 0x0000 0x34 0x0001 0xB0 0x0002 0x23. 0xFFFF 0x00

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

Capítulo 4. Packages e interfaces

Exercícios de Revisão Java Básico

Análise e Projeto Orientados por Objetos

Algoritmos e Técnicas de

Implementando uma Classe e Criando Objetos a partir dela

Programação por Objectos. Java

2 Orientação a objetos na prática

Programação Orientada a Objetos! Java - Fundamentos. Prof. Sérgio Almagro! sergio.ricardo.almagro@gmail.com

Noções sobre Objetos e Classes

Estrutura Condicional em Java

Módulo 06 Desenho de Classes

ESTRUTURA BÁSICA DE UM PROGRAMA JAVA

E/S CPU. Memória (Instruções e dados) 2 PARADIGMA IMPERATIVO. Instruções e dados. Resultados das operações. Unidade lógica e aritmética

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas

Conceitos básicos da linguagem C

POO Programação Orientada a Objetos. Classes em Java

Programação Orientada a Objetos (DPADF 0063)

Análise de Programação

Vetores. Professor Dr Francisco Isidro Massettto

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br

Curso Java Starter. 1

Introdução a Linguagem

Programação Orientada a Objetos. Encapsulamento

JSP - ORIENTADO A OBJETOS

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

Linguagem e Técnicas de Programação I Tipos de dados, variáveis e constantes. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

BC0505 Processamento da Informação

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

Unidade IV: Ponteiros, Referências e Arrays

Introdução à linguagem

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo

Programação II Java Streams. Christopher Burrows

Tipo de Dados em Linguagem C

Estrutura de Dados Básica

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

Linguagem de Programação Orientada a Objeto. Introdução a Orientação a Objetos Professora Sheila Cáceres

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

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

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.

Programando em C++ Histórico da Linguagem C

INTRODUÇÃO À LINGUAGEM C++

ALGORITMOS MEMÓRIA, VARIÁVEIS E CONSTANTES, OPERADORES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES

Programação com Posix Threads

Trabalho 3: Agenda de Tarefas

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

Tipos de Dados Simples

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

Linguagens de Programação

Programação. MEAer. Bertinho Andrade da Costa. Instituto Superior Técnico. Introdução ao Pré-Processador. 2011/2012 1º Semestre

Lição 9 Trabalhando com bibliotecas de classes

Introdução à Programação. Programação Imperativa (Registros X Classes e Métodos Nativos )

BC0501 Linguagens de Programação

Engenharia da Programação Problemas (2002/2003)

O comando switch. c Professores de ALPRO I 04/2012. Faculdade de Informática PUCRS. ALPRO I (FACIN) O comando switch 04/ / 31

Capítulo II Modelos de Programação Distribuída

Projeto de sistemas em Java. Algoritmos e Programação I. Classe SimulacaoFuncionario. Classe SimulacaoFuncionario. Classe SimulacaoFuncionario

LTP-IV. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo

Programação Orientada a Objetos (DPADF 0063)

Programação Orientada a Objetos

Trabalho Prático Nº1 Introdução ao C#.NET

LINGUAGEM DE PROGRAMAÇÃO ESTRUTURADA CAPÍTULO 2 ESTRUTURA BÁSICA DE UM PROGRAMA EM C#

Transcrição:

PROGRAMAÇÃ ÇÃO COM OBJECTOS TUDO É UM OBJECTO Programação com Objectos ÍNDICE Introdução aos objectos Polimorfismo TUDO É UM OBJECTO Interface e classes internas Instruções de controlo Guardar os objectos Nuno Mamede Iniciação e limpeza Esconder a realização Reutilização de classes Tratamento de erros Entradas saídas Padrões de desenho Licenciatura em Engenharia Informática e de Computadores Departamento de Engenharia Informática Instituto Superior Técnico - 2 - OBJECTIVOS OPERACIONAIS Conseguir explicar o alcance e longevidade dos constituintes de um programa Java Definir classes com membros Usar a palavra reservada static Escrever, compilar e executar um pequeno programa Programação com Objectos Definição de Objectos Alcance e longevidade Definição de Classes Definição de Métodos TUDO É UM OBJECTO Definição de Programas Regras de codificação - 3 - - 4 -

tipos primitivos Tudo é um objecto - 5 - l Objectos são criados usando new Os identificadores são referências para um objecto l Exemplo: televisão (objecto) e telecomando (referência) Um exemplo com cadeias de carateres String s; String s = "asdf"; String s = new String("asdf"); Os tipos primitivos são um caso especial l São criados sem new - 6 - l São guardados na pilha l Dimensão está definida na linguagem l As versões Wrapper são guardadas no monte l Primitive type Size Minimum Maximum Wrapper type boolean Boolean char 16-bit Unicode 0 Unicode 2 16-1 Character byte 8-bit -128 +127 Byte short 16-bit -2 15 +2 15 1 Short int 32-bit -2 31 +2 31 1 Integer long 64-bit -2 63 +2 63 1 Long float 32-bit IEEE754 IEEE754 Float double 64-bit IEEE754 IEEE754 Double void Void tipos primitivos (cont.) Exemplo de utilização de um tipo "wrapper" char c = 'x'; Character C = new Character(c); ou Character C = new Character('x'); Java inclui duas classes para cálculos ariteméticos de grande precisão: l BigInteger e BigDecimal l Pertencem à categoria wrapper l Não existe versão tipo primitivo ALCANCE E LONGEVIDADE variáveis veis Alcance e longevidade definidos por chavetas int x = 12; * só o "x" disponível * int q = 96; * ambos "x" & "q" disponíveis * * só o "x" disponível * Não é permitido redefinir variáveis int x = 12; int x = 96; * ilegal * - 7 - - 8 -

ALCANCE E LONGEVIDADE objectos Alcance: todo o programa Longevidade: até serem eliminados pelo colector de lixo Usando a palavra reservada: class class NomeDoTipo * definição do tipo aqui * NomeDoTipo a = new NomeDoTipo(); Exemplo do alcance de variáveis e objectos String s = new String("Cadeia de caracteres"); fim do alcance da variável s Objecto ainda disponível no Monte (mas não há nenhuma referência para o objecto) Uma classe pode conter: l Membros dados (campos) Referência para um objecto Objecto primitivo l Membros funções (métodos) Cada objecto reserva memória para os seus membros Os membros não são partilhados pelos objectos de uma classe - 9 - - 10 - acesso aos membros iniciaçã ção o de membros class SoDados int i; float f; boolean b; SoDados d = new SoDados(); d.i = 47; d.f = 1.1f; d.b = false; Tipo Primitivo Valor por omissão boolean false char \u0000 (null) byte (byte)0 short (short)0 int 0 long 0L float 0.0f double 0.0d meuaviao.depositoesquerdo.capacidade = 100; Só se aplica a membros de uma classe No interior de uma função, a iniciação é da responsabilidade do programador l Em caso de esquecimento o compilador avisa com um erro! - 11 - - 12 -

ÇÃO O DE MÉTODOSM ÇÃO O DE MÉTODOS M TODOS (cont.) Os métodos definem as mensagens que um objecto pode receber Método = Função tipodevolução NomeMétodo( * lista argumentos * ) * Corpo do método * O tipo de devolução deve estar de acordo com o expectável enviar a mensagem "f(batata, 4, true)" ao objecto "a" int x = a.f(batata, 4, true); A lista de argumentos contém a informação que acompanha a mensagem: l Lista de objectos (com os seus tipos) int CalculaBytes(String s) return s.length() * 2; A palavra reservada void indica que um método não devolve objectos void Nada() return; void Nada2() - 13 - - 14 - visibilidade de nomes static Em cada ficheiro os nomes devem ser únicos A referências aos ficheiros faz-se invertendo os nomes dos endereços internet l Por exemplo: ficheiro foibles na directoria utility do utilizador BruceEkel.com l Com.BruceEkel.utility.foibles Para especificar que classes referir, usa-se import Uma classe import java.util.arraylist Um conjunto de classes import java.util.* Usa-se quando se pretende l Que um método não esteja associado a qualquer objecto, ou seja, possa ser chamado, mesmo sem que exista um objecto l Partilhar um único campo por todos os objectos Os métodos static não podem referir membros não static sem referir nomes de objectos class StaticTest static int _i = 47; StaticTest._i++; StaticTest st1 = new StaticTest(); StaticTest st2 = new StaticTest(); st1._i++; - 15 - - 16 -

static (cont.) class StaticFun static void incr() StaticTest.i++; StaticFun sf = new StaticFun(); sf.incr(); StaticFun.incr(); Ficheiro OlaData.java OlaData.java import java.util.*; programa Java public class OlaData public static void main(string[] args) System.out.println("Olá, a data de hoje é: "); System.out.println(new Date()); Compilação > javac OlaData.java Execução > java OlaData - 17 - - 18 -