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

Tamanho: px
Começar a partir da página:

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

Transcrição

1 Programação Orientada a Objetos C ++ 4 Conceitos de OO em Java Classes e Objetos Departamento de Informática Prof. Anselmo C. de Paiva Classes O conjunto de requisições que um objeto pode cumprir é determinado pela sua classe. A classe também determina que método será executado para cumprir uma requisição. A classe especifica que informações um objeto armazena internamente. Objetos são instâncias de classes. Classes podem ser compostas em hierarquias, através de herança. Classes e Objetos Prof. Anselmo Cardoso de Paiva

2 Resumo Agentes são objetos; Ações (computações) são executadas através da troca de mensagens entre objetos; Todo objeto é uma instância de uma classe; Uma classe define uma interface e um comportamento; Classes podem estender outras classes através de herança. Classes e Objetos Prof. Anselmo Cardoso de Paiva 3 Exemplos: Objeto Vídeo PLAY > 1456 > >>> <<< DI Classes e Objetos Prof. Anselmo Cardoso de Paiva 4

3 Exemplos: Objeto Conta Bancária Crédito Saldo 875,3 Número Débito Classes e Objetos Prof. Anselmo Cardoso de Paiva 5 Estados do Objeto Conta Crédito(0) Crédito Crédito Crédito Saldo Número Saldo Número 875, , Saldo 895,3 Número Débito Débito Débito Classes e Objetos Prof. Anselmo Cardoso de Paiva 6

4 Classe de Contas Bancárias Classes e Objetos Prof. Anselmo Cardoso de Paiva 7 Classes em Java Em Java, a declaração de novas classes é feita através da construção class. Podemos criar uma classe Point para representar um ponto (omitindo sua implementação) da seguinte forma: class Point {... Classes e Objetos Prof. Anselmo Cardoso de Paiva 8

5 Classe de Contas em Java public class Conta { public String numero; public double saldo; public void credito (double valor) { saldo = saldo + valor; public void debito (double valor) { saldo = saldo - valor; Classes e Objetos Prof. Anselmo Cardoso de Paiva 9 Criação de Objetos Criar objeto = instanciar classe Instanciação resulta em uma referência Produto lápis = new Produto(); lápis.id = Produto.proximo_id++; lápis.nome = Lápis ; Produto caneta = new Produto(); caneta.id = Produto.proximo_id++; caneta.nome = Caneta ; Classes e Objetos Prof. Anselmo Cardoso de Paiva 10

6 Criando Instâncias (Objetos) Forma geral da declaração e criação de objetos Declaração <id-classe> <lista-id>; exemplo: Conta conta1, conta; Criação <id> = new<id-classe> (<args>); exemplo: conta1 = newconta(); Combinando declaração e criação <id-classe> <id> = new<id-classe> (<args>) exemplo: Conta conta1 = newconta (); Classes e Objetos Prof. Anselmo Cardoso de Paiva 11 Inicializações Blocos de inicialização execução implícita na criação de objetos static: execução implícita na leitura da classe Construtores execução na criação deobjetos construtor default Classes e Objetos Prof. Anselmo Cardoso de Paiva 1

7 Construtores Classes podem ter construtores servem como interfaces para inicializar objetos possuem o mesmo nome das respectivas classes similares a métodos, mas não têm tipo de retorno pode haver mais de um por classe (sobrecarga) Ex.: public class Conta { public String numero; public double saldo; public void credito (double valor) {saldo = saldo + valor; public void debito (double valor) {saldo = saldo - valor; public Conta (String n) {numero = n; saldo = 0; Classes e Objetos Prof. Anselmo Cardoso de Paiva 13 Exemplo de Construtor class Produto { public long id; public String nome; public static long proximo_id = 0; public Produto(String nome) { this.nome = nome; this.id = proximo_id++; Produto lápis = new Produto( Lápis ); Produto caneta = new Produto( Caneta ); Classes e Objetos Prof. Anselmo Cardoso de Paiva 14

8 Criando Objetos com Construtores... Conta conta1; conta1 = new Conta( ); conta1.credito(500.87); conta1.debito(45.00); System.out.println(conta1.saldo);... Classes e Objetos Prof. Anselmo Cardoso de Paiva 15 Inicialização de Campos Por exemplo, a classe Point poderia declarar: class Point { int x = 0; int y = 0; void move(int dx, int dy) { this.x += dx; this.y += dy; Classes e Objetos Prof. Anselmo Cardoso de Paiva 16

9 Construtores Ao invés de criar pontos sempre em (0,0), poderíamos querer especificar a posição do ponto no momento de sua criação. O uso de construtores permite isso. Construtores são mais genéricos do que simples atribuições de valores iniciais aos campos: podem receber parâmetros e fazer um processamento qualquer. Classes e Objetos Prof. Anselmo Cardoso de Paiva 17 Declaração de Construtores O construtor citado para a classe Point pode ser definido da seguinte forma: class Point { int x, y; Point(int x, int y) { this.x = x; this.y = y;... Classes e Objetos Prof. Anselmo Cardoso de Paiva 18

10 Usando Construtores Como o construtor é um método de inicialização do objeto, devemos utilizá-lo no momento da instanciação. Point p1 = new Point(1,); // p1 é o ponto (1,) Point p = new Point(0,0); // p é o ponto (0,0) Classes e Objetos Prof. Anselmo Cardoso de Paiva 19 Construtor Padrão Quando não especificamos nenhum construtor, a linguagem Java declara, implicitamente, um construtor padrão, vazio, que não recebe parâmetros. Se declararmos algum construtor, esse construtor padrão não será mais declarado. Classes e Objetos Prof. Anselmo Cardoso de Paiva 0

11 Finalizações Pode ser necessário executar alguma ação antes que um objeto deixe de existir. Para isso são utilizados os destrutores. Destrutores são métodos que são chamados automaticamente quando um objeto deixa de existir. Em Java, destrutores são chamados de finalizadores. Classes e Objetos Prof. Anselmo Cardoso de Paiva 1 Gerência de Memória Java possui uma gerência automática de memória, isto é, quando um objeto não é mais referenciado pelo programa, ele é automaticamente coletado (destruído). A esse processo chamamos coleta de lixo. Nem todas as linguagens OO fazem coleta de lixo e, nesse caso, o programador deve destruir o objeto explicitamente. Classes e Objetos Prof. Anselmo Cardoso de Paiva

12 Finalizadores em Java Quando um objeto Java vai ser coletado, ele tem seu método finalize chamado. Esse método deve efetuar qualquer procedimento de finalização que seja necessário antes da coleta do objeto. Classes e Objetos Prof. Anselmo Cardoso de Paiva 3 Ex.: programa que cria e manipula 1 conta class CriaConta { /** Criando um objeto do tipo Conta */ public static void main (String [] args) { Conta conta1 = new Conta (); conta1.numero = ; // referencia a atributos conta1.saldo = 0; conta1.credito (500.87); // referencia a metodos conta1.debito (45.00); System.out.println(conta1.saldo); Classes e Objetos Prof. Anselmo Cardoso de Paiva 4

13 Encapsulamento em uma classe Métodos públicos Métodos privados Atributos públicos Atributos privados Classes e Objetos Prof. Anselmo Cardoso de Paiva 5 Controle de Acesso em Java Normalmente, é conveniente proibir o acesso a certos atributos (ou mesmo métodos). Os níveis de proteção extremos são: public - permite acesso a partir de qualquer classe private - permite acesso apenas na própria classe Java oferece outros níveis de acesso que serão estudados posteriormente Classes e Objetos Prof. Anselmo Cardoso de Paiva 6

14 Conseqüências de tornar um atributo privado Tentar acessar um componente privado (de fora da classe) resulta em erro de compilação Mas como torná-lo acessível apenas para consulta (leitura)? Isto é possível definindo-se um método que retorna o atributo (na própria classe onde o atributo se encontra) Classes e Objetos Prof. Anselmo Cardoso de Paiva 7 Classe de Contas com Atributos Privados class Conta { private String numero; private double saldo; public void credito (double valor) {saldo = saldo + valor; public void debito (double valor) {saldo = saldo - valor; public String numero() {return numero; public double saldo() {return saldo; Conta (String n) {numero = n; saldo = 0; Classes e Objetos Prof. Anselmo Cardoso de Paiva 8

15 Membros de Classe Classes podem declarar membros (campos e métodos) que sejam comuns a todas as instâncias, ou seja, membros compartilhados por todos os objetos da classe. Tais membros são comumente chamados de membros de classe (versus de objetos ). Em Java, declaramos um membro de classe usando o qualificador static. Daí, o nome membros estáticos usado em Java. Classes e Objetos Prof. Anselmo Cardoso de Paiva 9 Membros de Classe: Motivação Considere uma classe que precise atribuir identificadores unívocos para cada objeto. Cada objeto, ao ser criado, recebe o seu identificador. O identificador pode ser um número gerado seqüencialmente, de tal forma que cada objeto guarde o seu mas o próximo número a ser usado deve ser armazenado na classe. Classes e Objetos Prof. Anselmo Cardoso de Paiva 30

16 Membros de Classe: Um Exemplo Podemos criar uma classe que modele produtos que são produzidos em uma fábrica. Cada produto deve ter um código único de identificação. Classes e Objetos Prof. Anselmo Cardoso de Paiva 31 Membros de Classe: Codificação do Exemplo class Produto { static int próximo_id = 0; int id; Produto() { id = próximo_id; próximo_id++;... Classes e Objetos Prof. Anselmo Cardoso de Paiva 3

17 Membros de Classe: Análise do Exemplo // Considere que ainda não há nenhum produto. // Produto.próximo_id = 0 Produto lápis = new Produto(); // lápis.id = 0 // lápis.próximo_id = 1 Produto caneta = new Produto(); // caneta.id = 1 // caneta.próximo_id = Um só campo! Classes e Objetos Prof. Anselmo Cardoso de Paiva 33 Membros de Classe: Acesso Direto Como os membros estáticos são da classe, não precisamos de um objeto para acessá-los: podemos fazê-lo diretamente sobre a classe. Produto.próximo_id = 00; // O próximo produto criado terá id = 00. Classes e Objetos Prof. Anselmo Cardoso de Paiva 34

18 Membros de Classe: Outras Considerações Java possui apenas declarações de classes: a única forma de escrevermos uma função é como um método em uma classe. Classes e Objetos Prof. Anselmo Cardoso de Paiva 35 Membros de Classe: Análise de Caso Para prover uma biblioteca matemática, Java declara uma classe, Math, que contém apenas métodos estáticos. Exemplo: calcular a distância entre dois pontos. float dx = p1.x - p.x; float dy = p1.y - p.y; float d = Math.sqrt(dx*dx + dy*dy); Classes e Objetos Prof. Anselmo Cardoso de Paiva 36

19 this revisitado Nós vimos que um método estático pode ser chamado diretamente sobre a classe. Ou seja, não é necessário que haja uma instância para chamarmos um método estático. Dessa forma, não faz sentido que o this exista dentro de um método estático. Classes e Objetos Prof. Anselmo Cardoso de Paiva 37 Variáveis estáticas versus atributos Enquanto cada instância da classe (objeto) tem seus próprios atributos, variáveis estáticas (ou de classe) são compartilhadas por todas as instâncias da classe Classes e Objetos Prof. Anselmo Cardoso de Paiva 38

20 Exemplo: classe Contas com um gerador de números de conta prox_num = 13 Classes e Objetos Prof. Anselmo Cardoso de Paiva 39 Em Java... class ContaComGerador { private int numero; private double saldo; private static int prox_num = 1; void credito... ContaComGerador () { numero = prox_num; saldo = 0; prox_num = prox_num + 1; Classes e Objetos Prof. Anselmo Cardoso de Paiva 40

21 Exercício Defina uma classe para representar um candidato a uma eleição, com atributos para armazenar o nome do candidato e o número de votos, ambos privados. Defina um método de acesso para cada atributo, um método para incrementar o número de votos do candidato e um construtor para a classe que recebe como argumento o nome do candidato e inicializa o número de votos com zero. Desenvolva um programa que cria um candidato com nome de sua escolha. Em seguida, deve ser lido um nome. Se o nome lido for o do seu candidato, incrementar o contador de votos. No final, imprimir o nome do candidato e o total de votos. Classes e Objetos Prof. Anselmo Cardoso de Paiva 41 Métodos Manipulamo estado do objeto ou da classe Podem prover acesso aos campos private String name; public String getname() { return name; public void setname(string new_name) { name = new_name; Classes e Objetos Prof. Anselmo Cardoso de Paiva 4

22 Métodos Recebem parâmetros por valor Podem ser sobrecarregados public Produto() { id = proximo_id++; public Produto(String nome) { id = proximo_id++; this.nome = nome; Classes e Objetos Prof. Anselmo Cardoso de Paiva 43 Métodos Além de atributos, uma classe deve definir os métodos que irá disponibilizar, isto é, a sua interface. A classe Point pode, por exemplo, prover um método para mover o ponto de um dado deslocamento. Classes e Objetos Prof. Anselmo Cardoso de Paiva 44

23 Declaração de Método Para mover um ponto, precisamos saber quanto deslocar em x e em y. Esse método não tem um valor de retorno pois seu efeito é mudar o estado do objeto. class Point { int x, y; void move(int dx, int dy) { x += dx; y += dy; Classes e Objetos Prof. Anselmo Cardoso de Paiva 45 Envio de Mensagens: Chamadas de Método Em Java, o envio de uma mensagem é feito através de uma chamada de método com passagem de parâmetros. Por exemplo, a mensagem que dispara a ação de deslocar um ponto é a chamada de seu método move. p1.move(,); // agora p1 está deslocado de duas unidades, // no sentido positivo, nos dois eixos. Classes e Objetos Prof. Anselmo Cardoso de Paiva 46

24 Métodos estáticos e mensagens Da mesma forma que há variáveis estáticas (de classe) e variáveis de instância (atributos), há métodos estáticos (de classe) e métodos de instância (mensagens) Um exemplo de mensagem é o método que retorna o atributo saldo na classe Conta Mesmo que presente na mesma classe dos atributos, um método estático não tem acesso a estes Um método estático pode ser acrescentado à classe ContaComGerador para retornar o valor corrente de prox_num Classes e Objetos Prof. Anselmo Cardoso de Paiva 47 Os métodos de um programa são sempre estáticos class Maior { private static int maior (int x, int y) { if (x > y) return x; else return y; public static void main(string [] args) { int m, x, y; x = Console.readInt(); y = Console.readInt(); m = maior (x,y); System.out.println(m); Classes e Objetos Prof. Anselmo Cardoso de Paiva 48

25 Passagem de parâmetro Em Java, a passagem é por valor, ou seja, o valor (e não o endereço) da variável é passado. Conseqüências: - Modificações no parâmetro formal não são refletidas no parâmetro real. - Uma expressão pode ser usada como argumento - Ineficiência em alguns casos (cópia) Classes e Objetos Prof. Anselmo Cardoso de Paiva 49 Exemplo classpassagemporvalor { private static void incrementa (int x) { x = x + 1; System.out.println ( x = + x); public static void main (String [] args) { int y = 1; System.out.println( y = + y); incrementa (y); System.out.println( y = + y); Classes e Objetos Prof. Anselmo Cardoso de Paiva 50

26 O resultado desejado pode ser obtido assim... classpassagemporvalor { private static int incrementa (int x) { x = x + 1; System.out.println ( x = + x); return x; public static void main (String [] args) { int y = 1; System.out.println( y = + y); y = incrementa (y); System.out.println( y = + y); Classes e Objetos Prof. Anselmo Cardoso de Paiva 51 Mas a referência é passada por valor... class Referencia { private static void redefine(conta a) { Conta b = newconta( ); a.credito(100); a = b; a.credito(100); public static void main (String [] args) { Conta c = newconta( 13-4 ); redefine (c); System.out.println(c.numero() + c.saldo()); Classes e Objetos Prof. Anselmo Cardoso de Paiva 5

27 Arrays Estrutura de dados que permite agrupar variáveis de um mesmo tipo Declaração <tipo> [] <lista-de-identificadores> exemplo: int [] a; Criação <identificador> = new<tipo> [<tamanho>]; exemplo: a = new int [1]; (Indexado de 0 a 11) Combinando declaração e criação <tipo> [] <identificador> = new<tipo> [<tamanho>]; exemplo: int [] a = new int [1]; Classes e Objetos Prof. Anselmo Cardoso de Paiva 53 Inicialização de arrays Arrays podem ser inicializados no momento de sua declaração: <tipo> [] <identificador> = {e1,..., en; Exemplo: a declaração String [] cores = { verde, azul, preto ; equivale a String [] cores = new String [3]; cores [0] = verde ; cores [1] = azul ; cores [] = preto ; Classes e Objetos Prof. Anselmo Cardoso de Paiva 54

28 Tamanho de um array Se a é um identificador de array, a.length dá o tamanho de a Exemplo: o método a seguir imprime um array de inteiros de tamanho arbitrário static void imprime (int [] a) { for (int i = 0; i < a.length; i = i + 1) System.out.println (a[i]); Classes e Objetos Prof. Anselmo Cardoso de Paiva 55 Classe de Bancos: Operações cadastro de uma nova conta crédito débito saldo transferência entre contas Classes e Objetos Prof. Anselmo Cardoso de Paiva 56

29 Classe de Bancos: Descrição class Banco { private Conta[] contas; private int indice = 0; void cadastro(conta c) { contas[indice] = c; indice = indice + 1; Classes e Objetos Prof. Anselmo Cardoso de Paiva 57 private Conta procura(string n) { int i = 0; boolean achou = false; while ((! achou) && (i < indice)) { if (contas[i].numero().equals(n)) achou = true; else i = i + 1; if (achou) return contas[i]; else return null; Classes e Objetos Prof. Anselmo Cardoso de Paiva 58

30 void debito(string num, double val) { Conta c; c = this.procura(num); if (c!= null) c.debito(val); else System.out.println("Conta inexistente!"); A operação credito é similar Classes e Objetos Prof. Anselmo Cardoso de Paiva 59 Exercício Completar a implementação da classe Banco com o construtor e os métodos transfere e saldo. Acrescente um novo método para remover uma conta Classes e Objetos Prof. Anselmo Cardoso de Paiva 60

31 Exercício Desenvolva um sistema simples de eleição, usando a classe já implementada para modelar um candidato. Definir uma outra classe para agrupar candidatos (usando arrays). Elabore um programa que lê um número arbitrário de nomes de candidatos e efetua a contagem; no final, indique o vencedor e o total de votos. Classes e Objetos Prof. Anselmo Cardoso de Paiva 61 Exercício Desenvolva um sistema simples para controle de estoque, contendo pelo menos as classes Produto e Estoque, e as seguintes operações: alterar as propriedades dos produtos (nome, preço, quantidade em estoque), retirar um produto do estoque, e verificar que produtos precisam ser repostos. Classes e Objetos Prof. Anselmo Cardoso de Paiva 6

32 Sobrecarga Um recurso usual em programação OO é o uso de sobrecarga de métodos. Sobrecarregar um método significa prover mais de uma versão de um mesmo método. As versões devem, necessariamente, possuir algo que as diferencie: tipo e/ou número de parâmetros ou tipo do valor de retorno. Classes e Objetos Prof. Anselmo Cardoso de Paiva 63 Sobrecarga de Construtores Como dito anteriormente, ao criarmos o construtor da classe Point para inicializar o ponto em uma dada posição, perdemos o construtor padrão que, não fazendo nada, deixava o ponto na posição (0,0). Nós podemos voltar a ter esse construtor usando sobrecarga. Classes e Objetos Prof. Anselmo Cardoso de Paiva 64

33 Sobrecarga de Construtores: Exemplo de Declaração class Point { int x = 0; int y = 0; Point() { Point(int x, int y) { this.x = x; this.y = y;... Classes e Objetos Prof. Anselmo Cardoso de Paiva 65 Sobrecarga de Construtores: Exemplo de Uso Agora temos dois construtores e podemos escolher qual usar no momento da criação do objeto. Point p1 = new Point(); // p1 está em (0,0) Point p = new Point(1,); // p está em (1,) Classes e Objetos Prof. Anselmo Cardoso de Paiva 66

34 Encadeamento de Construtores Uma solução melhor para o exemplo dos dois construtores seria o construtor vazio chamar o construtor que espera suas coordenadas, passando zero para ambas. Isso é um encadeamento de construtores. Java suporta isso através da construção this(...). A única limitação é que essa chamada seja a primeira linha do construtor. Classes e Objetos Prof. Anselmo Cardoso de Paiva 67 Exemplo revisitado class Point { int x, y; Point() { this(0,0); Point(int x, int y) { this.x = x; this.y = y;... Classes e Objetos Prof. Anselmo Cardoso de Paiva 68

35 Sobrecarga de Métodos Pode ser feita da mesma maneira que fizemos com os construtores. Quando sobrecarregamos um método, devemos manter a semântica: não é um bom projeto termos um método sobrecarregado cujas versões fazem coisas completamente diferentes. Classes e Objetos Prof. Anselmo Cardoso de Paiva 69 Sobrecarga de Métodos: Exemplo de Uso A classe Math possui vários métodos sobrecarregados. Note que a semântica das várias versões são compatíveis. int a = Math.abs(-10); // a = 10; double b = Math.abs(-.3); // b =.3; Classes e Objetos Prof. Anselmo Cardoso de Paiva 70

36 Critérios para Modularidade Decomposição capacidade de decompor o problema em sub-problemas (top-down). Composição capacidade de construir partes básicas que possam ser compostas para construir novos sistemas (bottom-up). Entendimento capacidade de criar módulos que facilitem o entendimento. Continuidade capacidade de absorver pequenas mudanças de especificação dentro de poucos módulos, sem ter que alterar a arquitetura. Proteção capacidade de conter situações anormais dentro dos módulos. Classes e Objetos Prof. Anselmo Cardoso de Paiva 71 Princípios de Modularidade Lingüística Modular Módulos devem corresponder a unidades sintáticas da linguagem. Poucas Interfaces Módulos devem se comunicar com o menor número possível de outros módulos. Acoplamento Fraco Se dois módulos se comunicam, eles devem trocar a menor quantidade de informações possível. Acoplamento Explícito Se dois módulos se comunicam, essa comunicação deve estar explicitamente indicada. Ocultação de Informações Toda informação sobre um módulo deve ser privada, a menos que seja explicitamente declarada pública. Classes e Objetos Prof. Anselmo Cardoso de Paiva 7

37 Modularidade OO No paradigma OO, um módulo, atendendo ao primeiro princípio, pode ser implementado por uma classe. Para determinarmos que classes devem ser criadas, devemos olhar os cinco critérios. Ao definirmos uma classe, devemos ter em mente os quatro demais princípios. Classes e Objetos Prof. Anselmo Cardoso de Paiva 73 Modularidade em Java: Pacotes Java provê um recurso adicional que ajuda a modularidade: o uso de pacotes. Um pacote é um conjunto de classes e outros pacotes. Pacotes permitem a criação de espaços de nomes, além de mecanismos de controle de acesso. Classes e Objetos Prof. Anselmo Cardoso de Paiva 74

38 Pacotes: Espaços de Nomes Pacotes, a princípio, possuem nomes. O nome do pacote qualifica os nomes de todas as classes e outros pacotes que o compõem. Exemplo: classe Math. int a = java.lang.math.abs(-10); // a = 10; Classes e Objetos Prof. Anselmo Cardoso de Paiva 75 Pacotes: Controle de Acesso Além de membros públicos e privados, temos também membros package. Um membro package só pode ser acessado por classes declaradas no mesmo pacote da classe que declara esse membro. Quando omitimos o modificador de controle de acesso, estamos dizendo que o membro é do tipo package. Classes e Objetos Prof. Anselmo Cardoso de Paiva 76

39 Tipos de Visibilidade (até agora) Os membros que vínhamos declarando eram do tipo package pois sempre omitimos o modificador de controle de acesso. class A { private int i; { int j;... public int k; public class B Classes e Objetos Prof. Anselmo Cardoso de Paiva 77 Implementação de Pacotes Pacotes são tipicamente implementados como diretórios. Os arquivos das classes pertencentes ao pacote devem ficar em seu diretório. Hierarquias de pacotes são construídas através de hierarquias de diretórios. Classes e Objetos Prof. Anselmo Cardoso de Paiva 78

40 Empacotando uma Classe Para declararmos uma classe como pertencente a um pacote, devemos: declará-la em um arquivo dentro do diretório que representa o pacote; declarar, na primeira linha do arquivo, que a classe pertence ao pacote. Classes e Objetos Prof. Anselmo Cardoso de Paiva 79 Importação de Pacotes Podemos usar o nome simples (não qualificado) de uma classe que pertença a um pacote se importarmos a classe. A importação de uma classe (ou classes de um pacote) pode ser feita no início do arquivo, após a declaração do pacote (se houver). As classes do pacote padrão java.lang não precisam ser importadas (Ex.: Math). Classes e Objetos Prof. Anselmo Cardoso de Paiva 80

Unidade IV: Ponteiros, Referências e Arrays

Unidade IV: Ponteiros, Referências e Arrays Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática

Leia mais

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

Programação com Acesso a BD. Programação com OO Acesso em Java Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática

Leia mais

Programação Orientada a Objetos C ++ 4 Conceitos de OO em Java Classes e Objetos. Departamento de Informática Prof. Anselmo C.

Programação Orientada a Objetos C ++ 4 Conceitos de OO em Java Classes e Objetos. Departamento de Informática Prof. Anselmo C. Programação Orientada a Objetos C ++ 4 Conceitos de OO em Java Classes e Objetos Departamento de Informática Prof. Anselmo C. de Paiva Classes O conjunto de requisições que um objeto pode cumprir é determinado

Leia mais

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

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição Lista de Contas Lista de Contas: Assinatura null Quais são os métodos necessários? class ListaDeContas { void inserir (Conta c) { void retirar (Conta c) { Conta procurar (String num) { Listas de Contas:

Leia mais

Revisão OO Básico. Orientação a Objetos em Java

Revisão OO Básico. Orientação a Objetos em Java Revisão OO Básico Orientação a Objetos em Java Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Nomenclatura A unidade básica de programação em linguagens orientadas a objetos é a

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

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

3 Classes e instanciação de objectos (em Java) 3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem

Leia mais

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS Campus Cachoeiro de Itapemirim Curso Técnico em Informática Disciplina: Análise e Projeto de Sistemas Professor: Rafael Vargas Mesquita Este exercício deve ser manuscrito e entregue na próxima aula; Valor

Leia mais

Introdução a Java. Hélder Nunes

Introdução a Java. Hélder Nunes Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais

Leia mais

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

Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos Programação Orientada a Objetos Relacionamentos entre objetos Associação, composição e agregação Construtores e sobrecarga Variáveis de classe e de instância Reinaldo Gomes reinaldo@cefet-al.br Objetos

Leia mais

Orientação a Objetos com Java

Orientação a Objetos com Java Orientação a Objetos com Java Julio Cesar Nardi julionardi@yahoo.com.br 2011/2 Apresentação 3: Orientação Objetos: Conceitos Básicos Objetivos: Compreender os Conceitos Básicos da Orientação a Objetos;

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 2: Classes e objectos LEEC@IST Java 1/24 Classes (1) Sintaxe Qualif* class Ident [ extends IdentC] [ implements IdentI [,IdentI]* ] { [ Atributos Métodos ]* Qualif:

Leia mais

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a

Leia mais

Java 2 Standard Edition Como criar classes e objetos

Java 2 Standard Edition Como criar classes e objetos Java 2 Standard Edition Como criar classes e objetos Helder da Rocha www.argonavis.com.br 1 Assuntos abordados Este módulo explora detalhes da construção de classes e objetos Construtores Implicações da

Leia mais

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

Desenvolvimento OO com Java Orientação a objetos básica Desenvolvimento OO com Java Orientação a objetos básica Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal

Leia mais

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

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo. Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 8 ARRAYS Introdução Até agora, utilizamos variáveis individuais. Significa que uma variável objeto

Leia mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos 1. Sobrecarga (Overloading) Os clientes dos bancos costumam consultar periodicamente informações relativas às suas contas. Geralmente, essas informações são obtidas através de extratos.

Leia mais

Implementando uma Classe e Criando Objetos a partir dela

Implementando uma Classe e Criando Objetos a partir dela Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

Guia de Fatores de Qualidade de OO e Java

Guia de Fatores de Qualidade de OO e Java Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.

Leia mais

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

POO Programação Orientada a Objetos. Classes em Java + POO Programação Orientada a Objetos Classes em Java + Classes 2 Para que a JVM crie objetos: Ela precisa saber qual classe o objeto pertence Na classe estão definidos os atributos e métodos Programamos

Leia mais

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

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em

Leia mais

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

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais Curso de Java Orientação a objetos e a Linguagem JAVA Roteiro A linguagem Java e a máquina virtual Objetos e Classes Encapsulamento, Herança e Polimorfismo Primeiro Exemplo A Linguagem JAVA Principais

Leia mais

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans. 1 - Criando uma classe em Java Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans. Antes de criarmos a(s) classe(s) é necessário criar o projeto

Leia mais

DEFINIÇÃO DE MÉTODOS

DEFINIÇÃO DE MÉTODOS Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 2 DEFINIÇÃO DE MÉTODOS Todo o processamento que um programa Java faz está definido dentro dos

Leia mais

Roteiro do Programa e Entrada/Saída

Roteiro do Programa e Entrada/Saída Roteiro do Programa e Entrada/Saída c Professores de ALPRO I Faculdade de Informática PUCRS 03/2012 ALPRO I (FACIN) Roteiro do Programa e E/S 03/2012 1 / 32 Sumário 1 Relembrando 2 Programa Definição de

Leia mais

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

Influenciam nossa percepção; ajudam-nos a organizar e a coordenar a Classes estimulam projeto centrado em dados: O Paradigma Orientado a Objetos Paradigma e Programação Orientada a Objetos Prof. João Carlos Pinheiro jcpinheiro@ifma.edu.br 1 Não é um paradigma no sentido estrito: é uma subclassificacão do imperativo

Leia mais

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Curso Adonai QUESTÕES Disciplina Linguagem JAVA 1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String

Leia mais

Projeto de Software Orientado a Objeto

Projeto de Software Orientado a Objeto Projeto de Software Orientado a Objeto Ciclo de Vida de Produto de Software (PLC) Analisando um problema e modelando uma solução Prof. Gilberto B. Oliveira Estágios do Ciclo de Vida de Produto de Software

Leia mais

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

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel Ambiente de Desenvolvimento Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do mundo

Leia mais

Algoritmos e Programação II. Sobrecarga

Algoritmos e Programação II. Sobrecarga Algoritmos e Programação II Baseado no Material do Prof. Júlio Machado Sobrecarga Em várias linguagens é comum encontrarmos rotinas que fazem basicamente a mesma coisa, porém, têm nomes distintos porque

Leia mais

FBV - Linguagem de Programação II. Um pouco sobre Java

FBV - Linguagem de Programação II. Um pouco sobre Java FBV - Linguagem de Programação II Um pouco sobre Java História 1992: um grupo de engenheiros da Sun Microsystems desenvolve uma linguagem para pequenos dispositivos, batizada de Oak Desenvolvida com base

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 6: Herança e Polimorfismo LEEC@IST Java 1/52 Herança revisão A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse pode

Leia mais

JSP - ORIENTADO A OBJETOS

JSP - ORIENTADO A OBJETOS JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...

Leia mais

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

Programação Orientada a Objetos em Java. Herança Universidade Federal do Amazonas Departamento de Ciência da Computação IEC481 Projeto de Programas Programação Orientada a Objetos em Java Herança Professor: César Melo Slides baseados em materiais preparados

Leia mais

15-09-2009. Membros de classe e de instância. PARTE III: Java e OO - detalhes. Exemplo 1: método. Exercício. Exemplo 1 corrigido

15-09-2009. Membros de classe e de instância. PARTE III: Java e OO - detalhes. Exemplo 1: método. Exercício. Exemplo 1 corrigido PARTE III: Java e OO - detalhes Membros de classe e instâncias Pacotes Visibilidade Classes aninhadas Membros de classe e de instância De classe Static Método não necessita de objeto para ser chamado.

Leia mais

CURSO DE PROGRAMAÇÃO EM JAVA

CURSO DE PROGRAMAÇÃO EM JAVA CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro

Leia mais

2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II. public double getgeracaoatual() {return geracaoatual;}

2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II. public double getgeracaoatual() {return geracaoatual;} 2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II Exercício : Construtores são métodos especiais sem tipo de retorno (nem mesmo void) e de mesmo nome que a classe que são invocados quando da criação

Leia mais

Reuso com Herança a e Composiçã

Reuso com Herança a e Composiçã Java 2 Standard Edition Reuso com Herança a e Composiçã ção Helder da Rocha www.argonavis.com.br 1 Como aumentar as chances de reuso Separar as partes que podem mudar das partes que não mudam. Exemplo:

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ

UNIVERSIDADE FEDERAL DO PARANÁ CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 05 APRESENTAÇÃO: Nesta aula vamos ver como se faz a criação de Métodos

Leia mais

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

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]

Leia mais

Exercícios de Revisão Java Básico

Exercícios de Revisão Java Básico Exercícios de Revisão Java Básico (i) Programação básica (estruturada) 1) Faça um programa para calcular o valor das seguintes expressões: S 1 = 1 1 3 2 5 3 7 99... 4 50 S 2 = 21 50 22 49 23 48...250 1

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 5. Tratamento de Exceções Introdução e conceitos Capturando exceção usando

Leia mais

Implementação de Classe e Auto-Relacionamento em Java

Implementação de Classe e Auto-Relacionamento em Java UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Implementação de Classe e Auto-Relacionamento em Java 1)Introdução Um modelo de Diagrama de Classes representa a estrutura definida

Leia mais

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

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP 1) Introdução Programação Orientada a Objetos é um paradigma de programação bastante antigo. Entretanto somente nos últimos anos foi aceito realmente

Leia mais

Programação Orientada a Objetos em java. Polimorfismo

Programação Orientada a Objetos em java. Polimorfismo Programação Orientada a Objetos em java Polimorfismo Polimorfismo Uma característica muito importante em sistemas orientados a objetos Termo proveniente do grego, e significa muitas formas Em POO, significa

Leia mais

Noções sobre Objetos e Classes

Noções sobre Objetos e Classes Noções sobre Objetos e Classes Prof. Marcelo Cohen 1. Elementos de programação Revisão de programação variáveis, tipos de dados expressões e operadores cadeias de caracteres escopo de variáveis Revisão

Leia mais

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

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem

Leia mais

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

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos) Prova de Java 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos) O programa consiste em uma aplicação que simula o comportamento de dois

Leia mais

Aula 1 Tipo Abstrato de Dados

Aula 1 Tipo Abstrato de Dados Aula 1 Tipo Abstrato de Dados Luiz Chaimowicz e Raquel O. Prates Livro Projeto de Algoritmos Capítulo 1 2009-1 O que é um algoritmo? O que é um programa? Algoritmos Sequência de ações executáveis para

Leia mais

Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos TUTORIAL Memória Flash Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-3 Criando Classes em Java Prof. Esbel Tomás Valero Orellana Da Aula Anterior Classes em Java, sintaxe básica Tipos básicos de dados em Java, como escolher o tipo apropriado

Leia mais

Profº. Enrique Pimentel Leite de Oliveira

Profº. Enrique Pimentel Leite de Oliveira Profº. Enrique Pimentel Leite de Oliveira O termo orientação a objetos significa organizar o mundo real como uma coleção de objetos que incorporam estrutura de dados e um conjunto de operações que manipulam

Leia mais

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

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes Programação Orientada a Objetos e Java - Introdução Carlos Lopes POO e Java Objetivo: proporcionar uma visão dos conceitos de POO e do seu uso na estruturação dos programas em Java. Classes e objetos em

Leia mais

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

Módulo 07 Características Avançadas de Classes Módulo 07 Características Avançadas de Classes Última Atualização: 15/06/2010 1 Objetivos Descrever variáveis, métodos e iniciadores static Descrever a semântica do modificador final em classes, métodos

Leia mais

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

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this. Aula 2 Objetivos Encapsulamento na linguagem Java; Utilizando a referência this. Encapsulamento, data hiding é um conceito bastante importante em orientação a objetos. É utilizado para restringir o acesso

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 01 Orientação a Objetos Edirlei Soares de Lima Paradigmas de Programação Um paradigma de programação consiste na filosofia adotada na

Leia mais

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

public Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos. import java.util.scanner; class Data... class Compromisso... public class Agenda private Compromisso[] compromissos; private Compromisso[] realoquecompromissos (Compromisso[] vetor, int tamanhodesejado)

Leia mais

BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com

BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com HelloWorld.java: public class HelloWorld { public static void main (String[] args) { System.out.println( Hello, World ); } } Identificadores são usados

Leia mais

Módulo 06 Desenho de Classes

Módulo 06 Desenho de Classes Módulo 06 Desenho de Classes Última Atualização: 13/06/2010 1 Objetivos Definir os conceitos de herança, polimorfismo, sobrecarga (overloading), sobreescrita(overriding) e invocação virtual de métodos.

Leia mais

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação

Leia mais

Técnicas de Programação II

Técnicas de Programação II Técnicas de Programação II Aula 06 Orientação a Objetos e Classes Edirlei Soares de Lima Orientação a Objetos O ser humano se relaciona com o mundo através do conceito de objetos.

Leia mais

Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread.

Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread. 5 THREADS Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread. 5.1 VISÃO GERAL Uma definição mais abrangente para threads é considerá-lo

Leia mais

Esta apresentação ensinará os conceitos de Orientação a Objetos com C++, do mais básico para o mais avançado. É suposto que o aluno já tenha

Esta apresentação ensinará os conceitos de Orientação a Objetos com C++, do mais básico para o mais avançado. É suposto que o aluno já tenha Esta apresentação ensinará os conceitos de Orientação a Objetos com C++, do mais básico para o mais avançado. É suposto que o aluno já tenha conhecimento avançado de C. Exemplo em C: Faça um programa que

Leia mais

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

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código } Este documento tem o objetivo de demonstrar os comandos e sintaxes básicas da linguagem Java. 1. Alguns passos para criar programas em Java As primeiras coisas que devem ser abordadas para começar a desenvolver

Leia mais

8 Classes Internas. Desenvolvimento OO com Java. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.

8 Classes Internas. Desenvolvimento OO com Java. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes. Desenvolvimento OO com Java 8 Classes Internas Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do

Leia mais

Programação Orientada a Objetos. Encapsulamento

Programação Orientada a Objetos. Encapsulamento Programação Orientada a Objetos Encapsulamento de Dados Ocultação de dados Garante a transparência de utilização dos componentes do software, facilitando: Entendimento Reuso Manutenção Minimiza as interdependências

Leia mais

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação Primeiro Programa em Java public class OlaPessoal

Leia mais

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP AULA 4 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.

Leia mais

Herança. Alberto Costa Neto DComp - UFS

Herança. Alberto Costa Neto DComp - UFS Herança Alberto Costa Neto DComp - UFS 1 Motivação Vimos como se faz encapsulamento e a importância de fazê-lo... Contudo, também é possível fazer encapsulamento em algumas linguagens não OO O que mais

Leia mais

Programação Orientada a Objetos em Java

Programação Orientada a Objetos em Java Programação Orientada a Objetos em Java Rone Ilídio da Silva Universidade Federal de São João del-rei Campus Alto Paraopeba 1:14 1 Objetivo Apresentar os principais conceitos de Programção Orientada a

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 3: Métodos LEEC@IST Java 1/45 Métodos (1) Sintaxe Qualif Tipo Ident ( [ TipoP IdentP [, TipoP IdentP]* ] ) { [ Variável_local Instrução ]* Qualif: qualificador (visibilidade,

Leia mais

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de

Leia mais

Capítulo 8. Introdução UML

Capítulo 8. Introdução UML Capítulo 8. Introdução UML 1/42 Índice Indice 8.1 - Introdução UML 8.2 - Modelação estrutural 8.2.1 - Representação de classes e objectos 8.2.2 - Relações entre objectos 8.2-3 - Relações de associação

Leia mais

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

A Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação A Introdução à Programação Orientada a Objetos Programação e Sistemas de Informação Objectos (1) Objectos são coisas que temos no mundo real e abstraímos no mundo virtual para que possamos manipulá-los

Leia mais

Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01

Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01 Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01 Objetivos: Modelar um sistema orientado a objetos simples a partir

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA:

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA: PROGRAMAÇÃO ORIENTADA A OBJETOS PROFESSOR: REINALDO GOMES ASSUNTO: REVISÃO DA INTRODUÇÃO A ORIENTAÇÃO

Leia mais

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS ATRIBUTOS PRIVADOS Podemos usar o modificador private, para tornar um atributo privado, obtendo um controle centralizado Definimos métodos para implementar todas as lógicas que utilizam ou modificam o

Leia mais

2 Orientação a objetos na prática

2 Orientação a objetos na prática 2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos

Leia mais

Prof. Jhonatan Fernando

Prof. Jhonatan Fernando Prof. Jhonatan Fernando Métodos Programação OO Instâncias de variáveis (objetos) Mensagens Classes Herança Polimorfismo Encapsulamento Abstração Programação Estruturada Procedimentos e funções Variáveis

Leia mais

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

Módulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010 Módulo 02 Programação Orientada a Objetos Última atualização: 07/06/2010 1 Objetivos Definir conceitos de orientação a objetos: o abstração, encapsulamento, pacotes. Discutir reutilização de código em

Leia mais

Programação Orientada a Objeto

Programação Orientada a Objeto Programação Orientada a Objeto Classes, Atributos, Métodos e Objetos Programação de Computadores II Professor: Edwar Saliba Júnior 1) Java é uma linguagem orientada a objetos. Para que possamos fazer uso

Leia mais

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

Introdução à Programação. Interface, Polimorfismo e Dynamic Binding Introdução à Programação Interface, Polimorfismo e Dynamic Binding Interface Programador Java PLENO Possuir sólida experiência em programação Desenvolvimento na linguagem JAVA Webservice, Struts ou JSF(desejável)

Leia mais

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 07: Funções O comando return Protótipo de funções O tipo void Arquivos-cabeçalho Escopo de variáveis Passagem de parâmetros por valor

Leia mais

Recursão. Em Java... Exemplo: Série de Fibonacci. Iteração e recursão. Exercícios. Especialização em Engenharia de Software - CEUT

Recursão. Em Java... Exemplo: Série de Fibonacci. Iteração e recursão. Exercícios. Especialização em Engenharia de Software - CEUT Especialização em Engenharia de Software Recursão Programação Orientada a Objetos Listas e Arquitetura em Camadas Sérgio Soares scbs@cin.ufpe.br Capacidade de um procedimento, método ou função ser definido

Leia mais

DAS5102 Fundamentos da Estrutura da Informação

DAS5102 Fundamentos da Estrutura da Informação Pilhas A estrutura de dados Pilha emula a forma de organização de objetos intuitiva que é utilizada diariamente nos mais diversos contextos da vida humana. Containeres são empilhados e desempilhados diariamente

Leia mais

CONVENÇÃO DE CÓDIGO JAVA

CONVENÇÃO DE CÓDIGO JAVA CONVENÇÃO DE CÓDIGO JAVA Eligiane Ceron - Abril de 2012 Versão 1.0 Conteúdo Considerações iniciais... 2 Introdução... 2 Extensão de arquivos... 2 Arquivos de código Java... 2 Comentários iniciais... 2

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

Java TM e o Modelo de Objetos

Java TM e o Modelo de Objetos 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

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA Responda 1) Quem desenvolveu a linguagem C? Quando? 2) Existe alguma norma sobre a sintaxe da linguagem C? 3) Quais são os tipos básicos de dados disponíveis na linguagem C? 4) Quais são as principais

Leia mais

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

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 PPROG Paradigmas da Programação Linguagem JAVA Interfaces (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33 PPROG Motivação para usar Interfaces Definição de Interface

Leia mais

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

insfcanceof new public switch transient while byte continue extends for int null Palavras -chave de JAV A abstract catch do final implements long private static throw void boolean char double finally import native protected super throws volatile break class float insfcanceof new public

Leia mais

Sobre o Professor Dr. Sylvio Barbon Junior

Sobre o Professor Dr. Sylvio Barbon Junior 5COP088 Laboratório de Programação Aula 1 Java Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr barbon@uel.br 1 Sobre o Professor Dr. Sylvio Barbon Junior Formação: Ciência e Engenharia da Computação (2005

Leia mais

Prof. Esp. Adriano Carvalho

Prof. Esp. Adriano Carvalho Prof. Esp. Adriano Carvalho Um arquivo contendo uma sequência de comandos em uma linguagem de programação especifica Esses comandosrespeitam regras de como serem escritos e quais são as palavras que podem

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Introdução Esse não é um curso de Java! O objetivo é aprender os conceitos da programação orientada a objetos,

Leia mais

Polimorfismo. Prof. Leonardo Barreto Campos 1

Polimorfismo. Prof. Leonardo Barreto Campos 1 Polimorfismo Prof. Leonardo Barreto Campos 1 Sumário Introdução; Polimorfismo; Polimorfismo Java; Métodos Abstratos Java Classes Abstratas Java Exercício - Java Polimorfismo C++ Classe Abstrata C++; Funções

Leia mais

Coleções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS

Coleções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS Coleções Conceitos e Utilização Básica c Professores de ALPRO I Faculdade de Informática PUCRS 05/2012 ALPRO I (FACIN) Coleções: Básico 05/2012 1 / 41 Nota Este material não pode ser reproduzido ou utilizado

Leia mais

2 Desenvolvimento de Software Orientado a Aspectos

2 Desenvolvimento de Software Orientado a Aspectos 2 Desenvolvimento de Software Orientado a Aspectos Separação de concerns é um princípio bem estabelecido da engenharia de software que diz que, para se dominar a complexidade do desenvolvimento de software,

Leia mais

THREADS EM JAVA. George Gomes Cabral

THREADS EM JAVA. George Gomes Cabral THREADS EM JAVA George Gomes Cabral THREADS Fluxo seqüencial de controle dentro de um processo. Suporte a múltiplas linhas de execução permite que múltiplos processamentos ocorram em "paralelo" (em computadores

Leia mais