Interfaces POO. Prof. Marcio Delamaro
|
|
- Júlia Camelo da Fonseca
- 5 Há anos
- Visualizações:
Transcrição
1 Interfaces POO Prof. Marcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/41
2 O que é interface É um template de classe Outras classes podem seguir esse template Chamamos isso de implementar a interface Isso permite que classes que não pertencem a uma mesma hierarquia sejam tratados como iguais Herança múltipla (???) Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 2/41
3 Exemplo banal public interface FiguraGeometrica { public String getnomefigura(); public int getarea(); public int getperimetro(); Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 3/41
4 Exemplo banal public interface FiguraGeometrica { public String getnomefigura(); public int getarea(); public int getperimetro(); Ao definir a interface, estamos definindo um contrato que outras classes vão ter que implementar. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 4/41
5 Exemplo banal public interface FiguraGeometrica { public String getnomefigura(); public int getarea(); public int getperimetro(); Ao definir a interface, estamos definindo um contrato que outras classes vão ter que implementar. Note que nenhum dos métodos tem uma implementação. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 5/41
6 Implementando public class Quadrado implements FiguraGeometrica public class Circulo implements FiguraGeometrica Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 6/41
7 Implementando public class Quadrado implements FiguraGeometrica public class Circulo implements FiguraGeometrica Significa que essa classe tem que implementar métodos definidos na interface Objetos do tipo Quadrado e Círculo podem ser tratados como objetos do tipo FiguraGeometrica Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 7/41
8 Quadrado public class Quadrado implements FiguraGeometrica { private int lado; public Quadrado (int l) { lado = l; public int getlado() { return public int getarea() { int area = 0; area = lado * lado; return public int getperimetro() public String getnomefigura() { return "quadrado"; Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 8/41
9 Quadrado public class Quadrado implements FiguraGeometrica { private int lado; public Quadrado (int l) { lado = l; public int getlado() { return public int getarea() { int area = 0; area = lado * lado; return public int getperimetro() public String getnomefigura() { return "quadrado"; Implementações obrigatórias da interface. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 9/41
10 Círculo public class Circulo implements FiguraGeometrica { private int raio; public Circulo(int r) { raio = r; public int getraio() { return public String getnomefigura() { return public int getarea() { return (int) (3.14 * raio * public int getperimetro() { return (int) (3.14 * raio * 2); Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 10/41
11 Círculo public class Circulo implements FiguraGeometrica { private int raio; public Circulo(int r) { raio = r; public int getraio() { return public String getnomefigura() { return public int getarea() { return (int) (3.14 * raio * public int getperimetro() { return (int) (3.14 * raio * 2); Implementações obrigatórias da interface. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 11/41
12 Hierarquia Object Quadrado Circulo Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 12/41
13 Hierarquia Object Quadrado Circulo Quadrado x = new Quadrado(10); Circulo y = new Circulo(15); x instanceof Quadrado // true x instanceof Object // true y instanceof Circulo // true y instanceof Object // true Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 13/41
14 Hierarquia Object FiguraGeometrica Quadrado Circulo Quadrado x = new Quadrado(10); Circulo y = new Circulo(15); x instanceof Quadrado // true x instanceof Object // true y instanceof Circulo // true y instanceof Object // true x instanceof FiguraGeometrica // true y instanceof FiguraGeometrica // true Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 14/41
15 Hierarquia Object FiguraGeometrica Quadrado Circulo Quadrado static x public = new Quadrado(10); void main(string x args[]) instanceof { FiguraGeometrica // true FiguraGeometrica vet[] = new Circulo y = new Circulo(15); y instanceof FiguraGeometrica[100]; FiguraGeometrica // true Quadrado x = new Quadrado(10); x instanceof Circulo Quadrado y = new // Circulo(15); true x instanceof vet[0] Object = x; // true y instanceof vet[1] Circulo = y; // true y instanceof Object // true Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 15/41
16 Pessoas na academia Vamos voltar ao sistema da acaddemia Temos as classes para representar as pessoas (alunos) que fazem parte da academia Pessoa getnome() getidade() getimc() +classificaobesidade PessoaMulher classificaobesidade() PessoaHomem classificaobesidade() Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 16/41
17 Pessoas na academia Vamos adicionar uma classe para funcionários Pessoa getnome() getidade() getimc() +classificaobesidade Funcionario getnome() getsalario() setsalario() PessoaMulher classificaobesidade() PessoaHomem classificaobesidade() Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 17/41
18 Hierarquia Não existe qualquer relação entre as duas classes Pessoas e Funcionarios Ou seja, não existe qualquer forma de polimorfismo entre objetos dessas classes Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 18/41
19 Hierarquia Não existe qualquer relação entre as duas classes Pessoas e Funcionarios Ou seja, não existe qualquer forma de polimorfismo entre objetos dessas classes Vamos agora supor que seja necessário comparar dois objetos humanos Por exemplo para saber se são o mesmo indivíduo (supondo que se possa saber pelo nome) Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 19/41
20 Hierarquia na academia «interface» Humano getnome() compara() Pessoa getnome() getidade() getimc() +classificaobesidade Funcionario getnome() getsalario() setsalario() PessoaMulher classificaobesidade() PessoaHomem classificaobesidade() Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 20/41
21 Interface Humano public interface Humano { public String getnome(); public boolean compara(humano x); Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 21/41
22 Implementação Humano public class Funcionario implements Humano { private String nome; private double public String getnome() { return nome; A classe Pessoa precisa ter uma implementação desses dois métodos public boolean compara(humano x) { String s = getnome(); String r = x.getnome(); if ( s == null ) return r == null; return s.equals(r); Abstrata ou concreta Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 22/41
23 Implementação Humano public class Funcionario implements Humano { private String nome; private double public String getnome() { return nome; A classe Pessoa precisa ter uma implementação desses dois métodos public boolean compara(humano x) { String s = getnome(); String r = x.getnome(); if ( s == null ) return r == null; return s.equals(r); Abstrata ou concreta Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 23/41
24 Implementação Humano public class Funcionario implements Humano { private String nome; private double public String getnome() { return nome; A classe Pessoa precisa ter uma implementação desses dois métodos public boolean compara(humano x) { String s = getnome(); Abstrata ou concreta String r = x.getnome(); if ( s == null ) return r == null; return s.equals(r); Dessa forma qualquer objeto que implemente a interface Humano pode ser comparado com um Funcionario. Ou com qualquer outro objeto que também implemente. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 24/41
25 Algumas regras Interfaces podem ter atributos mas eles são sempre públicos e finais Interfaces podem ter métodos estáticos (Java 8) Interfaces podem ter implementação default (Java 8) public interface Humano { default public String getnome() { return null; default public boolean compara(humano x) { return false; Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 25/41
26 Usos de interfaces Muitas vezes a API java obriga o desenvolvedor a implementar interfaces Dessa forma ela pode usar os objetos criados Um exemplo: sistema de contas bancárias Ao final de cada iteração, vamos ordenar o array de contas Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 26/41
27 Sistema de contas public static void main(string[] args) throws Exception { int op = 0; Contas ct = new Contas(); while (op!= 8) { op = leopcao(); switch (op) { ct.ordena(); private void ordena() { Arrays.sort(contas); Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 27/41
28 Sistema de contas public static void main(string[] args) throws Exception { int op = 0; Contas ct = new Contas(); while (op!= 8) { op = leopcao(); switch (op) { java.lang.comparable ct.ordena(); at Exception in thread "main" java.lang.classcastexception: PoupancaSimples cannot be cast to java.util.comparabletimsort.countrunandmakeascending(comparabletimsort.java:320) at java.util.comparabletimsort.sort(comparabletimsort.java:188) at java.util.arrays.sort(arrays.java:1312) at Contas.ordena(Contas.java:102) private void ordena() { Arrays.sort(contas); at Contas.main(Contas.java:91) Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 28/41
29 Por que? Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 29/41
30 Por que? Declaração do nosso array de contas: private ContaBancaria contas[] = new ContaBancaria[100]; Quando uma conta bancária é maior ou menor do que outra? Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 30/41
31 Por que? Declaração do nosso array de contas: private ContaBancaria contas[] = new ContaBancaria[100]; Quando uma conta bancária é maior ou menor do que outra? O método Arrays.sort(Object) não sabe Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 31/41
32 Por que? Declaração do nosso array de contas: private ContaBancaria contas[] = new ContaBancaria[100]; Quando uma conta bancária é maior ou menor do que outra? O método Arrays.sort(Object) não sabe public static void sort(object[] a) Sorts the specified array of objects into ascending order, according to the natural ordering of its elements. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 32/41
33 Por que? Declaração do nosso array de contas: private ContaBancaria contas[] = new ContaBancaria[100]; Quando uma conta bancária é maior ou menor do que outra? O método Arrays.sort(Object) não sabe public static void sort(object[] a) Sorts the specified array of objects into ascending order, according to the natural ordering of its elements. All elements in the array must implement the Comparable interface. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 33/41
34 Por que? Declaração do nosso array de contas: private ContaBancaria contas[] = new ContaBancaria[100]; Quando uma conta bancária é maior ou menor do que outra? O método Arrays.sort(Object) não sabe public static void sort(object[] a) Sorts the specified array of objects into ascending order, according to the natural ordering of its elements. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 34/41
35 Interface Comparable int compareto(t o) Compares this object with the specified object for order. Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 35/41
36 Interface Comparable int compareto(t o) Compares this object with the specified object for order. Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object. Então, nós temos que definir para todas as classes que são ContaBancaria o método compareto Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 36/41
37 Implementando Comparable public abstract class ContaBancaria implements Comparable<ContaBancaria> Ao fazer essa alteração, o compilador reclama que ContaEspecial, PoupancaOuro e PoupancaSimples precisam implementar compareto(contabancaria) Podemos fazer isso nas subclasses ou na superclasse Depende do que consideramos ordenação de contas Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 37/41
38 Comparação Normal Vamos considerar que as contas são ordenadas pelo saldo. Saldo maior, significa conta maior. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 38/41
39 Comparação Normal Vamos considerar que as contas são ordenadas pelo saldo. Saldo maior, significa conta maior. public int compareto(contabancaria b) { double x = this.getsaldo(); double y = b.getsaldo(); if ( x == y ) return 0; if ( x < y ) return 1; return 1; Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 39/41
40 Comparação anormal Contas especiais são sempre menores que as outras Poupanças especias são sempre menores do que as poupanças simples Quando comparamos dois objetos do mesmo tipo, usamos o saldo para decidir quem é menor. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 40/41
41 Comparação anormal Contas especiais são sempre menores que as outras Poupanças especias são sempre menores do que as poupanças simples Quando comparamos dois objetos do mesmo tipo, usamos o saldo para decidir quem é menor. OK, podem fazer!!!! Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 41/41
Generics POO. Prof. Marcio Delamaro
Generics POO Prof. Marcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/39 O que são Tipos genéricos São uma forma de definir e utilizar classes de forma genérica Dá flexibilidade
Leia maisHerança e Polimorfismo
Herança e Polimorfismo 2013 O que veremos hoje? Herança e polimorfismo Transparências baseadas no material do Prof. Gilbert Azevedo e Prof. Jailton Carlos Objetivos Conceito de Polimorfismo em POO Mais
Leia maisLista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }
Lista 05 Herança 1. Analisando a classe Java abaixo podemos observar que a mesma possui apenas um atributo, um construtor e dois métodos. Perceba que dentro do método main estão sendo invocados métodos
Leia maisProgramação Orientada a Objetos com Java. Prof. Júlio Machado
Programação Orientada a Objetos com Java Prof. Júlio Machado julio.machado@pucrs.br HERANÇA Herança Herança é uma relação de generalização/especialização entre classes A ideia central de herança é que
Leia maisTipos, Literais, Operadores
Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não
Leia maisTipos, Literais, Operadores
Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não
Leia maisProgramação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos
Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){
Leia mais6 Polimorfismo. Desenvolvimento OO com Java. Vítor E. Silva Souza ~ vitorsouza
Desenvolvimento OO com Java 6 Polimorfismo 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 Espírito
Leia maisCollections Framework
Collections Framework 1 Arrays p Manipular array é bastante trabalhoso. p Dificuldades aparecem em diversos momentos: n não podemos redimensionar um array em Java; n é impossível buscar diretamente por
Leia maisClasse Abstrata e Interface
Orientação a objetos com Java Classe Abstrata e Interface Byron Leite byron.leite@gmail.com 1 Herança Agenda Geral Parte 04 Encapsulamento Pacotes Modificadores de Acesso private, default, protected, public
Leia maisLinguagem de Programação Orientada a Objeto Abstração - Encapsulamento
Linguagem de Programação Orientada a Objeto Abstração - Encapsulamento Professora Sheila Cáceres Variáveis locais Campos são um tipo de variável. Eles: armazenam valores por toda a vida de um objeto; e
Leia maisAtividade 08 - Utilizando Collections - List
Atividade 08 - Utilizando Collections - List A Figura 1 mostra a árvore da hierarquia de interfaces e classes da Java Collections Framework que são derivadas da interface Collection. O diagrama usa a notação
Leia mais4 Conceito de Herança
4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança
Leia maisLinguagem de Programação II Implementação
Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Implementação em Java Variáveis Palavras reservadas Pacotes Identificador this Acessando membros de outros objetos API Java Nossa
Leia maisInterfaces e Classes Internas
e Classes Internas SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade
Leia maisInterfaces. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.
Interfaces Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Interfaces É utilizada para agrupar conceitos em
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
5 Polimorfismo Sobrecarga (overloading) de métodos: public class x { public void m1( ) {... sobrecarga do método m1 public void m1 ( int p ) {... - Diz-se que o nome de um método foi sobrecarregado ( overloaded
Leia maisnome = n; cargo = c; salario = s; public void print() { System.out.println(nome cargo salario); public void aumento( double fator){
UNIVERSIDADE FEDERAL DE SANTA CATARINA - Departamento de Automação e Sistemas PROGRAMAÇÃO DE SISTEMAS AUTOMATIZADOS - 2016/2 - P2 Nome: ------------------------------------------------------------------------------------------------------
Leia maisColeções POO. Prof. Marcio Delamaro
Coleções POO Prof. Marcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/54 Definição Interface Collection E - the type of elements in this collection The root interface in
Leia maisEncapsulamento. Alberto Costa Neto DComp - UFS
Encapsulamento Alberto Costa Neto DComp - UFS 1 Motivação O que aprendemos até agora? O que diferencia a POO da Programação Imperativa? Estas informações são suficientes para construir um projeto OO eficiente?
Leia mais9 Classes Abstractas e Interfaces
9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract
Leia maisLinguagem de Programação II Implementação
Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Criando objeto Definindo valores para os atributos do objeto Método construtor Definindo valores padrão para os atributos dos
Leia maisRecapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }
Recapitulando Orientação a objetos: programas organizados em torno da definição de classes, instanciação de objetos e troca de mensagens. Declaração de variáveis de referencia: Circle c; Criação/instanciação
Leia maisHerança. Prof. Fernando V. Paulovich 23 de agosto de 2010
Herança SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação(ICMC) Universidade
Leia maisTipos de dados e comandos POO
Tipos de dados e comandos POO Prof. Marcio Delamaro 1/46 Objetivo Vamos ver quais são os tipo de dados primitivos da linguagem Vamos ver quais são os principais comandos 2/46 Tipos Tipo Tamanho int 4 bytes
Leia maisProgramação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -
Programação Java - Herança, Classes Abstratas e Interfaces - Marco Fagundes mfagundes@tre-pa.gov.br 1 Tópicos Herança Ligação Dinâmica Polimorfismo 2 Herança Herança é um conceito que mapeia as classes
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação
4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança
Leia maisImplementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação
Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação Introdução Além de utilizar as classes presentes na biblioteca padrão, programadores podem definir suas próprias
Leia maisEx: carro_desportivo poderá ser uma subclasse de automóvel (carro_desportivo é_um automóvel)
Herança capacidade de uma classe (subclasse) herdar, adquirir atributos e funcionalidades de outra classe (superclasse), podendo juntar algumas especificidades e/ou alterar outras. Existe uma relação tipo
Leia maisINF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS
INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 5 Conversão de Tipos Polimorfismo O Modificador final O Modificador
Leia maisPolimorfismo e Ligação Dinâmica. Alcides Pamplona Polimorfismo e Ligação Dinâmica
Alcides Pamplona Linguagem de Programação CESBD 2010 Alcides Pamplona alcides.pamplona@gmail.com Tópicos Ligação Dinamica Polimorfismo Verificação Dinâmica de Tipos 2 Introdução A vinculação ou ligação
Leia maisLinguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces
Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces Professora Sheila Cáceres Polimorfismo Polimorfismo Polimorfismo é a característica única de linguagens orientadas
Leia maisINF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS
INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 7 Herança vs. Composição Interface Aplicação de Interface Exercício
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract
Leia maisComputação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz /05/13. Questão: Total Pontos: Gráu:
Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz - 2015/05/13 Questão: 1 2 3 4 5 6 Total Pontos: 20 15 15 10 10 30 100 Gráu: 1. Defina os termos listados a seguir: (a) (10 Pontos)
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação
4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança
Leia maisHerança. Herança. Herança. Herança. Herança. Programação Orientada a Objetos
e Ligação Dinâmica Programação Orientada a Objetos e Polimorfismo A é a contribuição original do paradigma de programação orientado a objetos Fundamentos chave do paradigma OO: Abstração de Dados A herança
Leia maisHerança; Sobrescrita, Sobrecarga e Polimorfismo; Classes abstratas e concretas (finais).
Disciplina: Programação Orientada à Objetos AULA 08 Herança; Sobrescrita, Sobrecarga e Polimorfismo; Classes abstratas e concretas (finais). Corpo docente: MsC. Alexandro Vladno Edmilson Campos MsC. Fábio
Leia maisIntrodução. LP OO desenvolvida pela Sun no início da década de 90 com sintaxe semelhente a C\C++. C C++.
Java Parte I mleal@inf.puc-rio.br 1 Introdução LP OO desenvolvida pela Sun no início da década de 90 com sintaxe semelhente a C\C++. C C++. Todos os programas Java são compilados e interpretados. O compilador
Leia mais[Desenvolvimento OO com Java] Classes abstratas e interfaces
Centro Tecnológico Departamento de Informática Prof. Vítor E. Silva Souza http://www.inf.ufes.br/~vitorsouza [Desenvolvimento OO com Java] Classes abstratas e interfaces Este obra está licenciada com uma
Leia maisAlgoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente):
Algoritmos e Programação 2 Baseado no material do Prof. Júlio Machado Objetos e Classes em Java Revisão Classes: encapsulam dados (atributos) e operações sobre os dados (métodos) Objetos: instâncias de
Leia maisUNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS
Data final de entrega 16/09/2014, até às 23h59min Enviar o arquivo de respostas em formato PDF e o arquivozip com códigos fontes para o e-mail motafernandomaia@gmailcom, insira no assunto do e-mail [Lista
Leia maisProgramação com genéricos
Programação com genéricos Laboratório de Programação Pedro Vasconcelos, DCC/FCUP Fevereiro 2015 Tipos genéricos tipos genéricos permitem definir classes ou interfaces que são parameterizadas por outras
Leia maisLinguagem de Programação. Diagrama de classes
Linguagem de Programação Diagrama de classes Joyce França Professora de Ciência da Computação - IFNMG 2 Agenda Diagrama de classes Herança Associação Agregação Exercícios 3 Diagrama de classes Mostra um
Leia maisHerança (parte 2) Redefinição de métodos AULA 11
Introdução a Programação IF669 http://www.cin.ufpe.br/~if669 Herança (parte 2) Redefinição de métodos AULA 11 Ricardo Massa F. Lima rmfl@cin.ufpe.br Sérgio C. B. Soares scbs@cin.ufpe.br Na aula passada
Leia maisProgramação Orientada a Objetos Classes Abstratas. Sérgio Soares
Programação Orientada a Objetos Classes Abstratas Sérgio Soares scbs@cin.ufpe.br Até aqui Quando usar herança? Ao redefinir um método manter o comportamento herdado! 2 Adivinhem... Surge um novo requisito
Leia maisLinguagem de Programação III
Linguagem de Programação III Aula-7 Reutilização de Classes Prof. Esbel Tomás Valero Orellana Até Aqui Introdução a POO e sua implementação em Java Atributos, métodos e encapsulamento dos mesmos Trabalhando
Leia maisUNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas
UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA Pilhas Estrutura de Dados A Estrutura de Dados Pilha Pilha é uma estrutura de dados usada em programação, que tem uma regra
Leia maisStrings e Arrays POO
Strings e Arrays POO Prof. Marcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/27 String Uma sequência de caracteres que representa uma informação textual Em Java existe um
Leia maisClasses e Objetos POO
Classes e Objetos POO Prof. Marcio Delamaro 1/40 POO (wikipedia) Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which are data structures that contain data,
Leia maisp Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco
1 Expandindo o Sistema p Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco class Diretor extends Funcionario { public boolean autentica(int senha)
Leia maisProgramação Java. - Herança e Polimorfismo - Marco Fagundes Marco Fagundes -
Programação Java - Herança e Polimorfismo - Marco Fagundes mfagundes@tre-pa.gov.br 1 Tópicos Herança Ligação Dinâmica Polimorfismo 2 Herança Herança é um conceito que mapeia as classes relacionadas entre
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
7 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract
Leia maisIntrodução. Universidade Federal de Uberlândia. Programação Orientada a Objetos. Prof. Fabiano Dorça
Introdução Universidade Federal de Uberlândia Programação Orientada a Objetos Prof. Fabiano Dorça Introdução Definições iniciais: classe, objeto, métodos, atributos. Introdução Ao escrever um programa
Leia maisProgramação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs
Programação Orientada a Objetos Professor: André Luis Meneses Silva andreluis.ms@gmail.com br.geocities.com/programacao2ufs [ Conteúdo ] Objeto Mensagens Classe Encapsulamento Visibilidade Membros de Instância
Leia maisProgramação. Orientada a Objetos: Herança. Objetos. Relacionamento entre classes. Análise e Projeto Orientados a. Objetos
Programação Orientada a Objetos: Herança Alexandre César Muniz de Oliveira Análise e Projeto Orientados a Objetos A análise orientada a objetos Determina o que o sistema deve fazer: Quais os atores envolvidos?
Leia maisUNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS
Data final de entrega 16/09/2014, até às 23h59min Enviar o arquivo de respostas em formato PDF e o arquivozip com códigos fontes para o e-mail motafernandomaia@gmailcom, insira no assunto do e-mail [Lista
Leia maisPOO29004 Programação Orientada a Objetos
POO29004 Programação Orientada a Objetos Classe abstrata, interface e polimorfismo Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/poo
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
5 Polimorfismo Sobrecarga (overloading) de métodos: public class x { public void m1( ) {... sobrecarga do método m1 public void m1 ( int p ) {... - Diz-se que o nome de um método foi sobrecarregado ( overloaded
Leia maisClasses e Objetos. Sintaxe de classe em Java
Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados
Leia maisVejamos o seguinte exemplo public class Exemplo private int testada = 20; public void testapalavra(int testada) JOptionPane.showMessageDialog(null,"Pa
Palavra reservada this Em Java podemos ter um parâmetro de um método e um atributo de uma classe com o mesmo nome. Caso façamos uma referência a esta variável, pelo princípio da localidade estaremos referenciando
Leia maisOrientação a Objetos e Java
Orientação a Objetos e Java Daves Martins davesmartins@yahoo.com.br Mestre em Computação de Alto Desempenho pela UFRJ Especialista em Banco de Dados Analista Web Orientação a Objetos e Java Características
Leia maisPalavras Reservadas da Linguagem Java
Palavras Reservadas da Linguagem Java Palavras Reservadas da Linguagem Java: Categorias Tipos de dados primitivos Literais Pseudo-variáveis Desvio e controle de fluxo Pacotes Exceções Modificadores de
Leia maisLinguagem de Programação IV Introdução
Linguagem de Programação IV Introdução Prof. Alessandro Borges 2 Tópicos Orientação a objetos Classe Objeto Abstração Encapsulamento Herança Polimorfismo Plataforma Java 3 4 POO é um paradigma de programação
Leia maisProfa. Thienne Johnson EACH/USP
Profa. Thienne Johnson EACH/USP Declarando classes usando generics Métodos que usam um parâmetro de tipo como tipo de retorno Declaração da classe BasicGeneric: class BasicGeneric Contém o parâmetro
Leia maisUniversidade Federal de Uberlândia
Universidade Federal de Uberlândia Faculdade de Computação Disciplina: POO1 Prof. Fabiano Dorça Classes e métodos abstratos É impossível instanciar objetos a partir de classes abstratas. Classes abstratas
Leia maisEXPRESSÕES BOOLEANAS. Ex: boolean b = false; // declara uma variável do tipo boolean e atribui false
Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 4 EXPRESSÕES BOOLEANAS O tipo primitivo boolean É um tipo de dados primitivo em Java que possui
Leia maisHerança. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.
Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Possibilita o reuso de classes (código-fonte) Usar quando:
Leia maisLaboratório de programação II
Laboratório de programação II Herança e Polimorfismo Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Herança Mecanismo da Orientação a Objeto que permite criar novas classes aproveitando
Leia maisAULA TEÓRICA 10. Tema 9. Interface. Tema 10. Recursividade
AULA TEÓRICA 10 Tema 9. Interface Tema 10. Recursividade 1 Interface Uma interface é como uma classe que não pode ser instanciada. Seu objectivo é espicificar um conjunto de métodos que uma classe deverá
Leia maisComputação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2016.2 http://www.dcc.ufrj.br/~fabiom/java Classes abstratas Até agora, usamos interfaces toda vez que queríamos representar algum conceito abstrato
Leia maisSintaxe 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 maisProgramação Estruturada e Orientada a Objetos
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Programação Estruturada e Orientada a Objetos Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br
Leia maisProgramação OO em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM
Programação OO em Java Profa Andréa Schwertner Charão DLSC/CT/UFSM Sumário Herança Visibilidade de atributos e métodos Extensão e sobreposição Uso de super Referências para objetos Polimorfismo Conceitos
Leia maisDesenvolvimento OO com Java Classes abstratas e interfaces
Desenvolvimento OO com Java Classes abstratas e interfaces 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 maisUniversidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java
Guia da Sintaxe do Java TIPOS PRIMITIVOS DE DADOS DO JAVA São os tipos nativos de dados do Java, que podem ser usados na declaração de atributos, variáveis, parâmetros. Tipo primitivo Tamanho Valor padrão
Leia maisCIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO
REVISÃO POO INTRODUÇÃO À LINGUAGEM JAVA CRIANDO CLASSES EM JAVA Convenção de Nomes em Java Classes iniciam com letras maiúsculas Métodos, atributos e variáveis locais iniciam com minúsculas. Declaração
Leia maisPOO29004 Programação Orientada a Objetos
POO29004 Programação Orientada a Objetos Herança Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/poo 11 de setembro
Leia maisExceções AULA 13. Ricardo Massa F. Lima Sérgio C. B. Soares
Introdução a Programação IF669 http://www.cin.ufpe.br/~if669 Exceções AULA 13 Ricardo Massa F. Lima rmfl@cin.ufpe.br Sérgio C. B. Soares scbs@cin.ufpe.br Exceções Objetivo Depois desta aula você será capaz
Leia maisCurso: Técnico em Informática Integrado Disciplina: POO Carga horária: 60h Período: 2º Ano Professor: Edmilson Barbalho Campos Neto LISTA 02.
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Campus João Câmara Avenida Antônio Severiano da Câmara / BR 406, Km 101, s/n Zona Rural. Bairro Amarelão João Câmara/RN - CEP:
Leia maisLição 11 Herança, polimorfismo e interfaces
Lição 11 Herança, polimorfismo e interfaces 1 Objetivos Ao final da lição, o estudante deverá estar apto a: Definir superclasses e subclasses Criar Override de métodos de superclasses Criar métodos e classes
Leia maisLinguagem de Programação III
Linguagem de Programação III Aula-5 Estruturas de Decisão e Controle. Arrays em Java Prof. Esbel Tomás Valero Orellana Até Aqui Modelos e POO Classes e sua implementação em Java Encapsulamento Tipos de
Leia maisTratamento de Exceções
Tratamento de Exceções Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Introdução Exceções São eventos que
Leia maisUnidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces
Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces 0 Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces Classes Abstratas À medida que você sobe na hierarquia de herança,
Leia maisConceitos Básicos da Programação OO
Conceitos Básicos da Programação OO Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Objetivos Aprender os
Leia maisAULA 6 - ARRAYS. Array de 10 elementos
1 AULA 6 - ARRAYS Arrays são objetos que armazenam diversas variáveis do mesmo tipo. Eles podem conter variáveis de referência primitivas ou de objeto, mas o array propriamente dito sempre será um objeto
Leia maisJava First-Tier: Aplicações. Herança: Simples Múltipla. Orientação a Objetos em Java (III) Problemas de Herança Múltipla.
Java First-Tier: plicações Orientação a Objetos em Java (III) Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Herança: Simples Múltipla O tipo de herança que usamos até agora é chamado
Leia maisInterfaces e polimorfismo
Java 2 Standard Edition Interfaces e polimorfismo Helder da Rocha (helder@acm.org) argonavis.com.br 1 O que é polimorfismo Polimorfismo (poli=muitos, morfo=forma) é uma característica essencial de linguagens
Leia maisProgramação Orientada a Objetos em Java
Programação Orientada a Objetos em Java Conceitos: Classe, Variável de Instância ou Atributos, Métodos, Objeto, Variáveis Estáticas ou de Classe, Construtores, Construtores Sobrecarregados, Herança, Polimorfismo,
Leia maisif (umobjecto!= null && umobjecto instanceof CartaoFidelidade){ titular.equals(((cartaofidelidade) umobjecto).titular) &&
P. Fazendeiro & P. Prata POO - TP03 / 25 _ [... //classe CartaoFidelidade: alguns métodos adicionais] public boolean equals(object umobjecto){ if (umobjecto!= null && umobjecto instanceof CartaoFidelidade){
Leia maiscapta a noção elementar de ordemde chegada no processamento de tarefas, além da ordem de chegada é típico atender à prioridade
Fila de Prioridade (1) Fila capta a noção elementar de ordemde chegada no processamento de tarefas, além da ordem de chegada é típico atender à prioridade Fila de prioridade objectos na fila têmum número
Leia maisApêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são:
Apêndice A Classe Vector A classe Vector permite a representação de um vetor de dados de maneira similar à de um array, visto na disciplina Programação Orientada a Objetos I, mas com maior flexibilidade.
Leia maisProgramação Orientada a Objetos Flávio de Oliveira Silva 144
HERANÇA Herança é a capacidade de uma subclasse de ter acesso as propriedades da superclasse(também chamada classe base) relacionada a esta subclasse. Dessa forma os atributos e métodos de uma classe são
Leia maisProgramação Orientada a Objetos II
Programação Orientada a Objetos II Prof. Walter Gima walter.gima@anhanguera.com 1 Interfaces Polimorfismo 2 Agenda Interfaces Interfaces x Classes Abstratas Polimorfismo Herança Múltipla 3 Interfaces São
Leia maisJava First-Tier: Aplicações. Sobrecarga. Orientação a Objetos em Java (II) Sobrecarga de Construtores: Exemplo de Declaração
Java First-Tier: Aplicações Orientação a Objetos em Java (II) Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Sobrecarga Um recurso usual em programação OO é o uso de sobrecarga
Leia mais[Desenvolvimento OO com Java] Modificadores de acesso e atributos de classe
Centro Tecnológico Departamento de Informática Prof. Vítor E. Silva Souza http://www.inf.ufes.br/~vitorsouza Este obra está licenciada com uma licença Creative Commons Atribuição- CompartilhaIgual 4.0
Leia maisJava para Desktop. Programação Orientada à Objetos 2 JSE
Java para Desktop Programação Orientada à Objetos 2 JSE Encapsulamento significa "ocultar informações, ele define que cada objeto contém todos os detalhes de implementação necessários sobre como ele funciona
Leia maisProgramação orientada a objetos em Java
Programação orientada a objetos em Java Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons
Leia mais