Módulo 06 Desenho de Classes

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

Download "Módulo 06 Desenho de Classes"

Transcrição

1 Módulo 06 Desenho de Classes Última Atualização: 13/06/2010 1

2 Objetivos Definir os conceitos de herança, polimorfismo, sobrecarga (overloading), sobreescrita(overriding) e invocação virtual de métodos. Utilizar os modificadores de acesso protected e packagefriendly. Descrever os conceitos de sobrecarga de construtores e métodos. 2

3 Objetivos (Cont.) Descrever a operação de construção e iniciação de um objeto. Discutir o conceito de AutoBoxing introduzido no Java 5 3

4 Herança A classe Empregado: public class Empregado { private Data datanascimento; private String primeironome; private String ultimonome; } public String getdetalhes ( ) {...} 4

5 A classe Gerente: Herança(Cont.) public class Gerente { private Data datanascimento; private String departamento; private String primeironome; private String ultimonome; public String getdetalhes (){...} } 5

6 Herança(Cont.) public class Empregado { private Data datanascimento; private String primeironome; private String ultimonome; } public String getdetalhes ( ) {...} public class Gerente extends Empregado { } private String departamento; 6

7 Herança Simples Quando uma classe herda apenas de uma outra classe, obtemos uma herança simples. Herança Múltipla é realizada através do conceito de Interfaces (próximo módulo). Sintaxe de uma classe Java: <modificador de acesso> class <nome> [extends <superclasse>]{ <declarações>* } 7

8 Herança Simples(Cont.) 8

9 Controle de Acesso Modificador Classe Pacote Subclasse Aplicação private Sim default Sim Sim protected Sim Sim Sim* public Sim Sim Sim Sim * Para uma subclasse fora do pacote, o membro protected somente pode ser acessado via herança. Se tentarmos acessar o membro via uma referência da superclasse, teremos um erro de compilação!!! 9

10 Sobreescrita de Métodos Uma subclasse pode modificar o comportamento herdado da super classe. Uma subclasse pode criar um método com uma funcionalidade diferente da super classe, entretanto, com o mesmo: Nome Tipo de Retorno Lista de Argumentos 10

11 Sobreescrita de Métodos public class Empregado { protected String primeironome; protected double salario; protected Data datanascimento; } public String getdetalhes() { return Primeiro Nome..: + primeironome\n + Salario..: + salario + \n ) public class Gerente extends Empregado { private String departamento; public String getdetalhes() { return Primeiro Nome..: + primeironome\n + Salario..: + salario + \n + Departamento..: + departamento; }} 11

12 A Palavra Reservada super super é utilizada em uma classe para referenciar a superclasse. super é utilizada para referenciar membros da superclasse, mais especificamente, atributos, construtores e métodos. O comportamento (método) invocado não necessariamente necessita estar na superclasse; ele pode estar em outro local dentro da hierarquia. 12

13 public class Empregado { } A Palavra Reservada super private String nome; private double salario; private String datanascimento; public String getdetalhes() { return "Nome: " + nome + "\n Salário: " + salario; } public class Gerente extends Empregado { private String departamento; public String getdetails() { // chama o método getdetalhes( ) presente na superclasse return super.getdetalhes() + "\n Departamento:" + departamento; }} 13

14 Polimorfismo Polimorfismo é a capacidade de se ter várias formas distintas; por exemplo, a classe Gerente tem acesso a métodos da classe Empregado. Um objeto possui apenas uma forma. Uma variável de referência pode referenciar objetos que possuem formas totalmente distintas. 14

15 Polimorfismo(Cont.) Empregado empregado = new Gerente(); // OK /* Tentativa ilegal de atribuir um atributo de gerente. A variável é declarada como sendo do tipo Empregado, embora o objeto Gerente possua este atributo. */ empregado.departamento = Vendas ; 15

16 Invocação Virtual de Método Invocação Virtual de Método: Empregado e = new Gerente(); e.getdetalhes(); Tipo em tempo de Compilação e tipo em tempo de execução (Late Binding) 16

17 Regras sobre Métodos Sobreescritos Deve ter um tipo de retorno que seja idêntico ou subclasse do tipo definido no método que está sendo sobreescrito (Retorno co-variante, introduzido no Java 5). Não pode ser menos acessível que o método que ele sobrescreve. 17

18 Regras sobre Sobrescrita de public class Pai { public void fazalgo() { } } public class Filha extends Pai { private void fazalgo() { } } public class UsaAmbas { public void fazoutracoisa() { Pai p1 = new Pai(); Pai p2 = new Filha(); p1.fazalgo(); p2.fazalgo(); //Erro!! }} Métodos(Cont.) 18

19 Coleções Heterogêneas Coleções de objetos com o mesmo tipo são chamadas de coleções homogêneas. Data[] datas = new Data[2]; datas[0] = new Data(22, 12, 1964); datas[1] = new Data(22, 7, 1964); Coleções de objetos de tipos diferentes são conhecidas como coleções heterogêneas. Empregado [] funcionarios = new Empregado[1024]; funcionarios[0] = new Gerente(); funcionarios[1] = new Empregado(); funcionarios[2] = new Engenheiro(); 19

20 Argumentos Polimórficos Devido ao fato de Gerente ser um Empregado: // Na classe Empregado public TaxaJuros encontrataxajuros(empregado e) {} // Enquanto isso, em algum ponto da aplicação Gerente m = new Gerente(); TaxaJuros t = encontrataxajuros(m); 20

21 O Operador instanceof public class Empregado extends Object public class Gerente extends Empregado public class Engenheiro extends Empregado public void fazalgo(empregado e) { if (e instanceof Gerente) { // Processamento de Gerente } else if (e instanceof Engenheiro) { // Processamento de Engenheiro } else { // Processamento de outro tipo de Empregado } } 21

22 Conversão (Casting) de Objetos Use instanceof para testar o tipo de um objeto. Restaure toda a funcionalidade de um objeto através de um casting (conversão de tipos). Confira o casting utilizando as seguintes recomendações: Conversões para cima na hierarquia são feitas implicitamente. Conversões para baixo devem ser feitas para uma subclasse e sua checagem é feita pelo compilador. O tipo do objeto é conferido em tempo de execução. 22

23 Sobrecarga de Métodos Utilizado da seguinte maneira: public void println(int i) public void println(float f) public void println(string s) A lista de argumentos deve ser diferente. O tipo de retorno pode ser diferente 23

24 Sobrecarga de Construtores Semelhante a métodos, podemos fazer a sobrecarga de construtores. Exemplo: public Empregado(String nome, double salario, String data) public Empregado(String nome, double salario) public Empregado(String nome, String data) A lista de argumentos deve ser diferente. Você pode usar a referência this na primeira linha de um construtor para chamar outro construtor. 24

25 Sobrecarga de Construtores 1 public class Empregado { 2 3 private String nome; 4 private double salario; 5 private String datanascimento; 6 7 public Empregado(String nome, double salario, String datanascimento) { 8 this.nome = nome; 9 this.salario = salario; 10 this.datanascimento = datanascimento; 11 } 12 public Empregado(String nome, double salario) { 13 this(nome, salario, null); 14 } 15 public Empregado(String nome, String datanascimento) { 16 this(nome, 0.0, datanascimento); 17 } 18 public Empregado(String nome) { 19 this(nome, salario); 20 } 21 } 25

26 Construtores Não São Herdados Uma subclasse herda todos os métodos e variáveis public ou protected da superclasse. Uma subclasse NÃO herda o construtor da superclasse. Existem duas maneiras de se incluir um construtor: Utilizando o construtor default, Escrever explicitamente um ou mais construtores. 26

27 Chamando Construtores da Superclasse Para se chamar um construtor da superclasse, devemos inserir uma chamada super na primeira linha do construtor. Você pode chamar um construtor específico da superclasse através dos argumentos utilizados na chamada super 27

28 Chamando Construtores da Superclasse (Cont.) Se não houver uma chamada explícita this ou super no construtor, então o compilador adiciona uma chamada implícita para super(), que por sua vez, chama o construtor da superclasse sem argumentos (que pode ser o construtor default). Se a superclasse definir construtores, mas não fornecer um construtor sem argumentos, então uma mensagem de erro é gerada. 28

29 Chamando Construtores da Superclasse 1 public class Empregado { 2 3 private String nome; 4 private double salario; 5 private String datanascimento; 6 7 public Empregado(String nome, double salario, String datanascimento) { 8 this.nome = nome; 9 this.salario = salario; 10 this.datanascimento = datanascimento; 11 } 12 public Empregado(String nome, double salario) { 13 this(nome, salario, null); 14 } 15 public Empregado(String nome, String datanascimento) { 16 this(nome, 0.0, datanascimento); 17 } 18 public Empregado(String nome) { 19 this(nome, 0.0); 20 } } 29

30 Chamando Construtores da Superclasse(Cont.) 1 public class Gerente extends Empregado { 2 private String departamento; 3 4 public Gerente(String nome,double salario, String dept) { 5 super(nome, salario); 6 departamento = dept; 7 } 8 public Gerente(String n, String dept) { 9 super(nome); 10 departamento = dept; 11 } 12 public Gerente(String dept) { // erro: ausência de super() explícito 13 departamento = dept; 14 } 15 } 30

31 Programação Orientada a Objetos e Linguagem de Programação Java Construindo e Iniciando Objetos: Breve Revisão A memória é alocada e iniciação default ocorre. A iniciação das variáveis de instância utiliza estes passos recursivamente: 1. casa os parâmetros do construtor. 2. Se houver um this(), chama recursivamente, e vá para o passo Chama super recursivamente, de forma implícita ou explícita, exceto para Object. 4. Executa iniciadores explícitos das variáveis de instância. 5. Executa o bloco do construtor. 31

32 Programação Orientada a Objetos e Linguagem de Programação Java Exemplo de Construtor e Iniciação public class Object { public Object() {} } public class Empregado extends Object { private String nome; private double salario = ; private String datanascimento; } public Empregado(String n, String datanascimento) { // super() implícito nome = n; this.datanascimento = datanascimento; } public Empregado(String n) { this(n, null); } public class Gerente extends Empregado { private String departamento; public Gerente(String n, String d) { super(n); departamento = d; }} 32

33 Programação Orientada a Objetos e Linguagem de Programação Java Exemplo de Construtor e Iniciação Exemplo supondo a construção new Gerente( Joe Smith, Vendas ) 0 Iniciação básica 0.1 Alocação de memória para o objeto Gerente 0.2 Inicia todas as variáveis de instância com seus valores default (0 ou null) 1 Chama o construtor: Gerente("Joe Smith", "Vendas") 1.1 Casa os parâmetros do construtor: n="joe Smith", d="vendas" 1.2 Não há uma chamada explícita para this() 1.3 Chama super(n) para Empregado(String n) Casa os parâmetros do construtor: n="joe Smith" Chama this(n, null) para Empregado(String n, String datanascimento) Casa parâmetros do construtor: n="joe Smith", datanascimento=null Não há uma chamada explícita para this() Chama super() para Object() Nenhum casamento necessário Não há chamada this() Não há chamada super() (Object é a raiz) Não existe iniciação explícita de variáveis para Object Não há chamada de método Inicia explicitamente variáveis de Empregado: salario= ; Executa o corpo do construtor: nome="joe Smith"; datanascimento=null; passos não necessários Executa o corpo do construtor: Não há instruções em Empregado(String) 1.4 Não há iniciadores explícitos para Gerente 1.5 Executa o corpo do construtor: departamento="vendas". 33

34 A Classe Object A classe Object é a super classe de todas as classes em Java. Uma declaração de classe sem a cláusula extends utiliza, implicitamente, a instrução extends Object public class Empregado {... } é equivalente a: public class Empregado extends Object {... } 34

35 O Operador == Comparado com o Método equals O operador == determina se duas referências são idênticas (ou seja, referem ao mesmo objeto). O método equals determina se objetos são iguais em conteúdo, mas não necessariamente idênticos. A implementação do método equals em Object utiliza o operador ==. 35

36 O Operador == Comparado com o Método equals(cont.) Classes definidas pelo programador podem fazer a sobreescrita do método equals(object o) para implementar um teste de igualdade-domínio. Nota: Devemos fazer a sobreescrita do método hashcode() se fizermos a sobreescrita do método equals(object o). Maiores detalhes no módulo sobre Coleções Java 36

37 Exemplo: equals 1 public class Data{ 2 private int dia; 3 private int mes; 4 private int ano; 5 6 public Data(int dia, int mes, int ano) { 7 this.dia = dia; 8 this.mes = mes; 9 this.ano = ano; 10 } public boolean equals(object o) { 13 boolean resultado = false; 14 if ( (o!= null) && (o instanceof Data) ) { 15 Data d = (Data) o; 16 if ((dia == d.dia) && (mes == d.mes) 17 && (ano == d.ano) ) { 18 resultado = true; 19 } 20 } 21 return resultado; 22 } public int hashcode() { 25 return (dia ^ mes ^ ano); 26 } 27 } 37

38 Exemplo: equals 1 class TesteEquals { 2 public static void main(string[] args) { 3 Data data1 = new Data(14, 3, 1976); 4 Data data2 = new Data(14, 3, 1976); 5 6 if (data1 == data2 ) { 7 System.out.println("data1 idêntica a data2"); 8 } else { 9 System.out.println("data1 não é identica a data2"); 10 } if (data1.equals(data2) ) { 13 System.out.println("data1 é igual a data2"); 14 } else { 15 System.out.println("data1 não é igual a data2"); 16 } System.out.println("atribui data2 = data1;"); 19 data2 = data1; if (data1 == data2 ) { 22 System.out.println("data1 é idêntica a data2"); 23 } else { 24 System.out.println("data1 não é identica a data2"); 25 } 26 } 27 } Gera a saída: data1 não é idêntica a data2 data1 é igual a data2 Atribui data2 = data1; data1 é idêntica a data2. 38

39 O Método tostring() Converte um objeto em uma String. Usado durante concatenação de strings. Fazemos a sobreescrita deste método para fornecer informação sobre um objeto definido pelo programador em um formato legível. Tipos primitivos são convertidos em String utilizando o método estático tostring() da classe empacotadora (wrapper class). 39

40 Classes Empacotadoras Wrapper Tratam elementos de tipos primitivos como objetos: Tipo Primitivo Classe Empacotadora boolean byte short int long float double char Boolean Byte Short Integer Long Float Double Character 40

41 Pré Java 5 // Definindo um tipo primitivo int primitivoint = 500; Classes Empacotadoras // Empacotando o tipo primitivo definido acima Integer empacotandoint = new Integer(primitivoInt); // Convertendo novamente para primitivo int primitivo2 = empacotandoint.intvalue(); Pós Java 5 Autoboxing Elimina o trabalho do programador de ter que fazer o encapulamento/desencapsulamento de um tipo primitivo com sua respectiva classe empacotadora. 41

42 Autoboxing e Unboxing 42

43 AutoBoxing e UnBoxing - Agenda Convertendo Tipos Primitivos para Classes Empacotadoras Wrapper Classes Convertendo Classes Empacotadoras para Tipos Primitivos Incrementando e Decrementando Classes Empacotadoras Valores Boolean versus boolean Estruturas Condicionais e UnBoxing Instruções de Controle e Unboxing Resolução na Sobrecarga de Métodos 43

44 Autoboxing/Unboxing de tipos Primitivos Problema: (pré-java 5): 1. Conversão entre tipos primitivos e tipos wrapper (e vice-versa) 2. Você precisa converter manualmente um tipo primitivo para um tipo wrapper antes de adicioná-lo na coleção int i = 22; Integer[] b = new Integer[1]; b[0] = new Integer(i); 44

45 Autoboxing/Unboxing de tipos Primitivos Solução: Deixe o compilador fazer isto Byte byteobj = 22; // Conversão Autoboxing int i = byteobj // Conversão Unboxing Integer[] lista = new Integer[1]; lista[0] = 22; // Conversão Autoboxing 45

46 Incrementando e Decrementando Classes Empacotadoras Podemos utilizar as operações ++ e - - com classes empacotadoras Integer contador = 1; while (true) { System.out.println( Iteração..: + contador++); if (contador > 1000) { break; } } A variável contador é tratada com um tipo primitivo int neste código 46

47 Incrementando e Decrementando Classes Empacotadoras (cont.) Pontos importantes neste código: contador++ lembre-se que contador é um Integer. Nessa linha foi feito um Unboxing para o tipo int que é o tipo necessário ao operador ++ (o operador ++ não foi alterado para funcionar com Unboxing) Após unboxing do valor, o incremento é feito e o novo valor é armazenado novamente em contador através de uma operação Boxing. O processo de unboxing também é demonstrado na linha contador >

48 Valores Boolean versus boolean Operadores booleanos como!,, && são úteis para valores Boolean. Sempre que tivermos uma expressão que usa!,, ou && qualquer valor Boolean é convertido em tipo primitivo e avaliado adequadamente Boolean caso1 = true; Boolean caso2 = true; boolean caso3 = false; Boolean resultado = (caso1 caso2) && caso3; Neste código o resultado da expressão, é encapsulado dentro da variável resultado (AutoBoxing) 48

49 Estruturas Condicionais e UnBoxing O conceito de boxing/unboxing afeta, tornando mais flexível, a utilização do operador ternário expressao? expressao1 : expressao2; Em versões anteriores ao Tiger o operador ternário necessitava que seus operandos fossem de tipos compatíveis ou que um pudesse ser associado a outro (ex: int e float). No tiger, os operandos do operador ternário podem ser praticamente de qualquer tipo. 49

50 Estruturas Condicionais e UnBoxing Exemplo: Boolean estachegando = false; Boolean estaatrasado = true; System.out.println(estaChegando? chegou no horário : Você está atrasado ); O operador ternário no tiger permite o casting automático de referência para a superclasse comum aos dois operandos. Exemplo (Funciona somente a partir do JavaSE 5, Tiger) : String s = olá; StringBuffer sb = new StringBuffer( mundo ); boolean emutavel = true; CharSequence c = emutavel? sb : s; // CharSequence é superclasse de // StringBuffer e String 50

51 Estruturas Condicionais e UnBoxing (Cont.) O código no slide anterior gera um erro em versão anteriores ao Java 5 já que String e StringBuffer não podem ser associadas uma a outra. Este código poderá funcionar em versões anteriores ao Java 5 se o programador fizer algumas conversões: String s = olá; StringBuffer bf = new StringBuffer( mundo ); boolean emutavel = true; CharSequence c = emutavel? (CharSequence)sb : (CharSequence)s; Repare que poderíamos utilizar Object em vez de CharSequence no exemplo acima. 51

52 Estruturas de Controle e UnBoxing As estruturas de controle if/else, while, do são afetadas pelo conceito de boxing/unboxing Integer pessoasnasala = 0; int capacidademaxima = 100; boolean horadepartir = false; Boolean chegando = true; while (pessoasnasala < capacidademaxima) { if (chegando) { System.out.println("Bom ver você."); pessoasnasala++; } else { pessoasnasala--; } if (horadepartir) { do { System.out.printf("Número de pessoas na sala + pessoasnasala); pessoasnasala--; } while (pessoasnasala > 0); } } 52

53 Estruturas de Controle e UnBoxing (Cont.) Outra estrutura de controle beneficiada é o switch Em Tiger a instrução switch funciona com: byte, short, int, char, Byte, Short, Integer, Character e enum 53

54 Resolução na Sobrecarga de Métodos Resolução de métodos é o processo pelo qual o compilador Java determina qual método é invocado. Boxing e Unboxing afetam este processo. Exemplo: public void fazalgo(double num) public void fazalgo(integer num) Invocando fazalgo() :... int foo = 1; fazalgo(foo); // Qual método é chamado???... 54

55 Resolução na Sobrecarga de Métodos (Cont.) Antes do Tiger isso era fácil: O tipo int era convertido em double e o método fazalgo(double num) era invocado A primeira vista pode parecer que, com o Tiger, o tipo int é encapsulado em um Integer e faz Algo(Integer num) é invocado ISSO NÃO ACONTECE!!!! Resolução de métodos em Tiger sempre selecionará o mesmo método que seria invocado utilizando Java 4 (Compatibilidade retroativa) 55

56 Perguntas? 56

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

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

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

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

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

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

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

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

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

A Linguagem Java. Alberto Costa Neto DComp - UFS

A Linguagem Java. Alberto Costa Neto DComp - UFS A Linguagem Java Alberto Costa Neto DComp - UFS 1 Roteiro Comentários Variáveis Tipos Primitivos de Dados Casting Comandos de Entrada e Saída Operadores Constantes 2 Comentários /** Classe para impressã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 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

Análise de Programação

Análise de Programação Análise de Programação Conceitos Avançados da Linguagem de Programação Java Prof Gilberto B Oliveira Encapsulamento Proteger o dado dentro de uma classe (capsula segura) Facilita o uso da classe por outros

Leia mais

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

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc. Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java

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

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

Slide 1 Deitel/Deitel, 8e. Java Como programar Copyright 2010 Pearson Education

Slide 1 Deitel/Deitel, 8e. Java Como programar Copyright 2010 Pearson Education Java Como Programar, 8/E Slide 1 Slide 2 Slide 3 Métodos genéricos e classes genéricas (e interfaces) permitem especificar, com uma única declaração de método, um conjunto de métodos relacionados ou, com

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

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

Capítulo 14. Herança a e Polimorfismo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Capítulo 14 Herança a e Polimorfismo Objetivos do Capítulo Apresentar os conceitos de herança e de polimorfismo. Explorar os diversos recursos disponíveis no Java para a aplicação da herança e do polimorfismo

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

Lição 9 Trabalhando com bibliotecas de classes

Lição 9 Trabalhando com bibliotecas de classes Lição 9 Trabalhando com bibliotecas de classes Introdução à Programação I 1 Objetivos Ao final da lição, o estudante deverá estar apto a: Explicar o que é programação orientada a objetos e alguns de seus

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

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

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31 APROG Algoritmia e Programação Linguagem JAVA Básico Nelson Freire (ISEP DEI-APROG 2012/13) 1/31 Linguagem Java Estrutura de um Programa Geral Básica Estruturas de Dados Variáveis Constantes Tipos de Dados

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

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

Capítulo 5 Reuso de Classes

Capítulo 5 Reuso de Classes Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. Desenvolvimento Orientado a Objetos com Java Capítulo 5 Reuso de Classes

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

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

Modulo IIa Extra: Object

Modulo IIa Extra: Object Modulo IIa Extra: Object Professor Ismael H F Santos ismael@tecgraf.puc-rio.br April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Bibliografia Linguagem de Programação JAVA Ismael H. F. Santos,

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

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

7 RTTI e Interfaces. Desenvolvimento OO com Java. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes. Desenvolvimento OO com Java 7 RTTI e Interfaces 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

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

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

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

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

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

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

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

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

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

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

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

Computação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Herança, Polimorfismo e Construtores Computação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Herança, Polimorfismo e Construtores 1 Exercícios Exercício 1: Construtores e Testes Analise a classe Conta.java, mostrada na

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

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

Encapsulamento de Dados

Encapsulamento de Dados Encapsulamento de Dados Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Modificadores de Visibilidade Especificam

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

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

Programação Orientada a Objetos C++

Programação Orientada a Objetos C++ Programação Orientada a Objetos em C++ Sumário Histórico Comparação com Java Encapsulamento Tratamento de classes e objetos Herança Polimorfismo Histórico Desenvolvido por Bjarne Stroustrup dos Bell Labs

Leia mais

BCC221 Programação Orientada a Objetos. Prof. Marco Antonio M. Carvalho 2014/2

BCC221 Programação Orientada a Objetos. Prof. Marco Antonio M. Carvalho 2014/2 BCC221 Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho 2014/2 Site da disciplina: http://www.decom.ufop.br/marco/ Moodle: www.decom.ufop.br/moodle Lista de e- mails: bcc221- decom@googlegroups.com

Leia mais

Programação Orientada a Objetos (DPADF 0063)

Programação Orientada a Objetos (DPADF 0063) Programação Orientada a Objetos (DPADF 0063) Aula 5 Herança Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno

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

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

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

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

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

Criar a classe Aula.java com o seguinte código: Compilar e Executar Introdução à Java Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Código Exemplo da Aula Criar a classe Aula.java com o seguinte código: public class Aula { public static void

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

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

Capítulo 3. Programação por objectos em Java Capítulo 3. Programação por objectos em Java 1/46 Índice Indice 3.1 - Qualificadores de visualização 3.2 - Classe 3.3 - Objecto 3.4 - Métodos 3.5 - Herança 3.6 - Reescrita de métodos 3.7 - Classes abstractas

Leia mais

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Aula 09 Introdução à Java Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Java: Sintaxe; Tipos de Dados; Variáveis; Impressão de Dados.

Leia mais

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS João Gabriel Ganem Barbosa Sumário Motivação História Linha do Tempo Divisão Conceitos Paradigmas Geração Tipos de Dados Operadores Estruturada vs

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

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

Curso de PHP. FATEC - Jundiaí. A programação orientada a objetos (object-oriented oriented programming

Curso de PHP. FATEC - Jundiaí. A programação orientada a objetos (object-oriented oriented programming Curso de PHP FATEC - Jundiaí A programação orientada a objetos (object-oriented oriented programming OOP) é um conjunto de técnicas t para organizar o código c em torno de entidades ou objetos representados

Leia mais

Classes, Superclasses e Subclasses

Classes, Superclasses e Subclasses Herança Herança A idéia é criar novas Classes construindo-as sobre outras existentes Ao herdar de uma classe, reusamos (herdamos) seus métodos E podemos adicionar novos métodos e campos para adaptar a

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

Programação Orientada a Objetos (DPADF 0063)

Programação Orientada a Objetos (DPADF 0063) Programação Orientada a Objetos (DPADF 0063) Aula 6 Polimorfismo Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof.

Leia mais

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

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA 0 Iniciar o ambiente de desenvolvimento integrado

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

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

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

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

Sintaxe Básica de Java Parte 1

Sintaxe Básica de Java Parte 1 Sintaxe Básica de Java Parte 1 Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marcioubeno.com Fonte: Material da Profª Karina Oliveira Estrutura de Programa Um programa

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 Classes abstratas Até agora, usamos interfaces toda vez que queríamos representar algum conceito abstrato

Leia mais

Um objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo;

Um objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo; um objeto; é definido; Um objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo; class ClasseBase{ é instanciado; $objetobase = new ClasseBase; Caso queira,

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

Aula 3 Objeto atual com referencia THIS e Classes com Herança

Aula 3 Objeto atual com referencia THIS e Classes com Herança Aula 3 Objeto atual com referencia THIS e Classes com Herança Profº Msc. Alexsandro M. Carneiro Engenharia de Computação Tec. Análise e Des. De Sistemas Tópicos Abordados Controlee de Acesso Herança Definição:

Leia mais

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

Construção de novas Classes em Java. Classes Atributos Métodos Herança... Construção de novas Classes em Java Classes Atributos Métodos Herança... 1 Exemplo Representação em UML Java (Unified Modeling Language) Stack items : Vector Stack( ) push( ) pop( ) isempty( ) finalize(

Leia mais

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

Java Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp Java Básico Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp Classes Abstratas construção de uma classe abstrata construção de classes derivadas Classes e Herança Uma classe define

Leia mais

JavaScript 2.0X 1.0 3.0X 1.1 4.0 4.05 1.2 4.06 4.61 1.3 5.0 1.4 6.0 1.5

JavaScript 2.0X 1.0 3.0X 1.1 4.0 4.05 1.2 4.06 4.61 1.3 5.0 1.4 6.0 1.5 JavaScript Diego R. Frank, Leonardo Seibt FIT Faculdades de Informática de Taquara Fundação Educacional Encosta Inferior do Nordeste Av. Oscar Martins Rangel, 4500 Taquara RS Brasil difrank@terra.com.br,

Leia mais

Visual Basic e Java. À primeira vista o Java é completamente diferente do Visual Basic. Realmente as duas linguagens pertencem a mundos distintos.

Visual Basic e Java. À primeira vista o Java é completamente diferente do Visual Basic. Realmente as duas linguagens pertencem a mundos distintos. Visual Basic e Java À primeira vista o Java é completamente diferente do Visual Basic. Realmente as duas linguagens pertencem a mundos distintos. No entanto, elas compartilham uma série de funcionalidades.

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

Programação WEB I Estruturas de controle e repetição

Programação WEB I Estruturas de controle e repetição Programação WEB I Estruturas de controle e repetição Operadores de Incremento Operadores de incremento servem como expressões de atalho para realizar incrementos em variáveis Operadores de Incremento Vamos

Leia mais

AULA 02. 1. Uma linguagem de programação orientada a objetos

AULA 02. 1. Uma linguagem de programação orientada a objetos AULA 02 TECNOLOGIA JAVA O nome "Java" é usado para referir-se a 1. Uma linguagem de programação orientada a objetos 2. Uma coleção de APIs (classes, componentes, frameworks) para o desenvolvimento de aplicações

Leia mais

1. Herança. Sobrescrevem métodos - redefinem métodos herdados. Subclasse herda de uma superclasse

1. Herança. Sobrescrevem métodos - redefinem métodos herdados. Subclasse herda de uma superclasse 1. Herança Herança - forma de reutilização de software Novas classes são criadas a partir de classes já existentes Absorvem atributos e comportamentos, e incluem os seus próprios Sobrescrevem métodos -

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

5 Caso de estudo O cartão fidelidade

5 Caso de estudo O cartão fidelidade 5 Caso de estudo O cartão fidelidade Cartão de fidelização de clientes das distribuidoras de combustível. Definição em JAVA da classe CartaoFidelidade, que deverá apresentar uma funcionalidade semelhante

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

Padrão Básico de Projeto: Interfaces e Polimorfismo

Padrão Básico de Projeto: Interfaces e Polimorfismo Padrão Básico de Projeto: Interfaces e Polimorfismo Herança de implementação versus herança de interface Há uma diferença grande entre uma classe e seu tipo A classe define ambos um tipo e uma implementação

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

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

ÇÃO COM OBJECTOS PROGRAMAÇÃ. Programação com Objectos. Programação com Objectos TUDO É UM OBJECTO TUDO É UM OBJECTO ÍNDICE. 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

Leia mais

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

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA 0 Inicie o ambiente de desenvolvimento integrado

Leia mais

Algoritmos e Programação Estruturada

Algoritmos e Programação Estruturada Algoritmos e Programação Estruturada Virgínia M. Cardoso Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em 1972. A Linguagem C foi baseada na Linguagem B criada por Thompson.

Leia mais

BC0501 Linguagens de Programação

BC0501 Linguagens de Programação BC0501 Linguagens de Programação Aula Prática: 03 Assunto: Comandos de Seleção 1. Introdução Um comando de seleção define uma condição em um programa, que permite que grupos de comandos sejam executados

Leia mais

HERANÇA. Prog. Orientada a Objetos em Java

HERANÇA. Prog. Orientada a Objetos em Java HERANÇA Prog. Orientada a Objetos em Java Lembrando: Acoplamento slide 2 O acoplamento se refere às ligações entre distintas unidades de um programa. Se duas classes dependem rigorosamente de muitos detalhes

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

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

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

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

Herança. Algoritmos e Programação II. Aula 5 Herança

Herança. Algoritmos e Programação II. Aula 5 Herança Algoritmos e Programação II Aula 5 Herança *Adaptado do material do Prof. Júlio Machado Herança Uma característica importante da programação orientada a objetos é permitir a criação de novas classes com

Leia mais