Polimorfismo. PARTE II: Java e OO. Polimorfismo. Polimorfismo. Polimorfismo. Polimorfismo
|
|
- Valentina de Sintra Casqueira
- 6 Há anos
- Visualizações:
Transcrição
1 PARTE II: Java e OO Interface Herança Herança e polimorfismo Classes e métodos abstratos : muitas formas de implementação de uma operação Permite esconder diferentes implementações atrás da mesma interface Um único controle remoto pode ser utilizado para controlar várias televisões desde que respeitem a interface de comunicação para a qual o controle foi projetada rápido instrumentofinanceiro.getsaldo() Encontre um exemplo da vida real onde polimorfismo é utilizado Ação Conta corrente Fundo de Aplicação Implementação OO classe qqer { public float calcularsaldo( ) { InstrumentoFinanceiro f[ ] = {new Acao(), new ContaCorrente(), new FundoAplicacao(); float saldo = 0; for (int i=0; i < f.length(); f++) saldo += f[i].getsaldo(); rápido Como seria a implementação da transparência anterior sem OO? Solução >>>> return saldo;
2 Solução em pseudo-código if instrumentofinanceiro = ação calcularsaldodasacoes() Como utilizar polimorfismo? Interfaces Herança (hierarquias) if instrumentofinanceiro = ContaCorrente calcularsaldocontacorrente() if instrumentofinanceiro = FundoAplicacao calcularsaldofundoaplic() PARTE II: Java e OO Interface Herança Herança e polimorfismo Classes e métodos abstratos Interface Interfaces não fornecem comportamento default Interfaces permitem implementar comportamentos polimórficos Plug-and-play: mudar implementação sem afetar cliente realização 48 Cubo, pirâmide e outras formas podem ser desenhados, deslocados, etc. Embora apresentem o mesmo comportamento, a implementação pode ser totalmente diferente 49 Interface: notação UML Classes de interface Notação pirulito São classes abstratas puras Métodos são implicitamente públicos, abstratos e não-estáticos Notação canônica Atributos são implicitamente públicos, static e final (constantes) 50 *se uma classe tem métodos abstratos, deve ser declarada como abstrata *método abstrato é um método sem implementação *modificador abstract não é usado com métodos de interface (implícito) 51 2
3 Classe de Interface Classe de interface em sala Encontre classes de interface na API de JAVA Solução >>>> Classes de Interface: representação UML Classes de Interface: exemplo Classe +atributos: tipo = valor inicial +operação(arg:tipo):retorno LimitesTabuleiro ~larguratabuleiro: int=500 ~alturatabuleiro: int=500 ~totallinhas: int=10 ~totalcolunas: int=10 ~alturacelula:int= alturapixels/totallinhas ~larguracelula:int=largurapixels/totalcolunas RatoDeTabuleiro A +getaparencia():string +getposicaoatual():point +andar():point Classe Classe A implementa a classe de interface Interface: exemplo Implementação de interface 1. public interface LimitesTabuleiro { 2. int largurapixels = 500; // largura do tabuleiro em pixels 3. int alturapixels = 500; // altura do tabuleiro em pixels 4. int totallinhas = 10; // numero de linhas do tabuleiro 5. int totalcolunas = 10; // numero de colunas do tabuleiro 6. int alturacelula = alturapixels/totallinhas; 7. int larguracelula = largurapixels/totalcolunas; public interface RatoDeTabuleiro { 2. public String getaparencia(); 3. public Point getposicaoatual(); 4. public Point andar(); public class RatoDeCanto implements RatoDeTabuleiro, LimitesTabuleiro { 2. private Point posatual; 3. private String aparenciarato= o ; public RatoDeCanto (int x, int y, String aparencia) { 6. posatual = new Point(x, y); 7. aparenciarato = aparencia; public String getaparencia() {return aparenciarato; 10. public Point getposicaoatual() {return posatual; 11. public Point andar() { 12. if (posatual.y == 1 && posatual.x < totalcolunas) 13. posatual.x++; 14. else 15. if (posatual.x == totalcolunas && posatual.y < totallinhas) 16. posatual.y++; 17. else 18. if (posatual.y == totallinhas && posatual.x > 1) 19. posatual.x--; 20. else 21. if (posatual.x == 1 && posatual.y > 1) 22. posatual.y--; return posatual;
4 Realização de interface: representação UML RatoDeLabirinto LimitesTabuleiro RatoDeCanto Realização de interface: representação UML LimitesTabuleiro ~larguratabuleiro: int=500 ~alturatabuleiro: int=500 ~totallinhas: int=10 ~totalcolunas: int=10 ~alturacelula:int= alturapixels/totallinhas ~larguracelula:int=largurapixels/totalcolunas RatoDeTabuleiro +getaparencia():string +getposicaoatual():point +andar():point RatoDeCanto ou >>>> Classe de Interface em sala apostila revisão OO exercício 02 enunciado completo na apostila Criar um novo rato nos moldes do RatoDeCanto mas que ande de modo diferente. (JExercRatosInterface) PARTE II: Java e OO Interface Herança Herança e polimorfismo Classes e métodos abstratos Solução >>>> (JExercRatosInterfaceSol) Herança Classes de objetos podem ter em comum parte do comportamento => métodos parte da descrição do estado => atributos É possível aproveitar estas similaridades? Para quê? Herança Triângulo eqüilátero e quadrado O que estes objetos têm em comum? São polígonos regulares O que estes objetos têm de diferente? Número de lados
5 Herança Aprofundando... Que operações podemos efetuar sobre estes polígonos? Calcular perímetro Calcular área São válidas para todos ou se distinguem em algum ponto? Herança Todas as figuras têm os atributos: Número de lados: numlados Tamanho do lado: tamlado e o método em comum Calcular perímetro: numlados x tamlado Diferem no método Calcular área Triângulo equilátero: (tamlado x sqrt(3)) / 2 Quadrado: pow(tamlado, 2) Herança: classe base x derivada Classe base Reúne as características de estado e comportamento comuns Herança: representação em UML <<estereótipo>> ClasseBase Atributos comuns Métodos comuns Classe derivada Contém as especificidades atributos e comportamentos que as tornam diferentes da base e das irmãs <<estereótipo>> ClasseDerivada Atributos específicos Métodos específicos Herança: representação UML do exemplo s da apostila: 3 e 4 Método abstrato +calculararea():float Desenhar diagramas de classe para Exerc. 3. Tabuleiro de robôs Exerc. 4. Locadora de veículos contrato de locação segundo o tipo de veículo
6 PARTE II: Java e OO Interface Herança Herança e polimorfismo Classes e métodos abstratos Herança e polimorfismo Tipos de polimorfismo sobrecarga sobreposição por sobrecarga Exemplo de polimorfismo por sobrecarga Mudança dos parâmetros e, adicionalmente, do tipo de retorno do método Mesma classe ou de classe base para classe derivada 1. public class Aluno { 2. int nummatricula; 3. int CPF; public Aluno (int nmatr) { 6. nummatricula = nmatr; public Aluno (int nmatr, int CPF){ 10. nummatricula = nmatr; 11. this.cpf = CPF; Exemplo de polimorfismo de sobrecarga polimorfismo sobrecarga Classe String fonte public class Somador{ public double somar(double v1, double v2) { return v1 + v2; public int somar(int v1, int v2) { return v1 + v2; Somador s = new Somador(); System.out.println(s.somar(2.05, 2.30)); System.out.println(s.somar(2, 2)); Quais os valores impressos por este programa?
7 rápido class JAoQuadradoDouble extends JAoQuadrado { public double elevarquadrado(double a) { System.out.println("metodo elevarquadrado de JAoQuadradoDouble "); return (double)a*a; class JAoQuadrado { public float elevarquadrado(float a) { System.out.println("metodo elevarquadrado de JAoQuadrado "); return a*a; O que este programa imprime na tela? public class Main { JAoQuadradoDouble j = new JAoQuadradoDouble(); System.out.println(j.elevarQuadrado(10)); System.out.println(j.elevarQuadrado(10.0)); double d = j.elevarquadrado(10); : solução Ao encontrar 10, o compilador assume float metodo elevarquadrado de JAoQuadrado metodo elevarquadrado de JAoQuadradoDouble metodo elevarquadrado de JAoQuadrado Ao encontrar 10.0, o compilador assume double por sobreposição Exemplo de polimorfismo de sobreposição Ou reescrita Preserva a assinatura Muda a implementação De classe base para classe derivada 1. public class IPVA { 2. protected static final vlrbase = 1.50; 3. protected int qtdcavalos; public float calcularipva () { 6. return vlrbase * qtdcavalos; public class IPVACaminhao extends IPVA { 2. private int qtdeixos; 3. public float calcularipva() { 4. return vlrbase * qtdcavalos * qtdeixos; Este método sobrepõe o de cima IPVA rápido class ClienteEspecial extends Cliente { protected double desconto = 0.2; ClienteEspecial(double desconto) { desconto = desc; return valor * desconto; Encontre um polimorfismo de sobreposição e desenhe o diagrama de classes em UML public class Cliente { protected double desconto=0.1; // 10% if (valor > 500) return valor * desconto; else return 0.0; Cliente cli[] = {new Cliente(), new ClienteEspecial(0.15); rápido: solução Cliente #desconto:double =0.1 +calculardesconto(v:double):double ClienteEspecial #desconto:double =0.2 +calculardesconto(v:double):double for (int i=0; i < 2; i++) println(cli[i].calculardesconto(100)); Vinculação dinâmica Dynamic binding
8 rápido: solução class ClienteEspecial extends Cliente { protected double desconto = 0.2; ClienteEspecial(double desconto) { desconto = desc; return valor * desconto; Sobrepõe o método de mesmo nome da classe base public class Cliente { protected double desconto=0.1; // 10% if (valor > 500) return valor * desconto; else return 0.0; Fazer número 5 da apostila IPVA (construção do diagrama de classes e indicar tipo de polimorfismo) Cliente cli[] = {new Cliente(), new ClienteEspecial(0.15); for (int i=0; i < 2; i++) println(cli[i].calculardesconto(100)); Herança: super e this Herança: this e sombreamento super Referência a métodos e atributos da superclasse super.<método>(<lista argumentos>) this Referência a métodos e atributos do objeto corrente 84 1 public class Fatorial { 2 private int num = 0; // último número calculado 3 private int res = 1; // último resultado obtido 4 5 public int calcular(int n) { 6 if (n == num) return res; 7 else { 8 int res = 1; 9 for (int i=n; i>0; i--) 10 res = i * res; // guarda resultado 13 this.res = res; 14 num = n; 15 return res; Exemplo super, this e sombreamento class ClienteEspecial extends Cliente { protected double desconto = 0.2; ClienteEspecial(double desconto) { println (this.desconto + " " + super.desconto + " " + desconto); this.desconto = desconto; return valor * desconto; public class Cliente { protected double desconto=0.1; // 10% if (valor > 500) return valor * desconto; else return 0.0; O que o programa imprime na linha azul??? Fazer o exercício 6 da apostila This e super no exemplo do Totó Cliente cli[] = {new Cliente(), new ClienteEspecial(0.15); for (int i=0; i < 2; i++) println(cli[i].calculardesconto(100));
9 Herança e construtores Herança: Ordem de chamada das construtoras Métodos construtores não são herdados pelas classes derivadas, mas o construtor default de uma classe base é chamado implicitamente antes da primeira linha do construtor da classe derivada. Ao instanciar um objeto de C: C( ) super( ) B( ) super( ) A( ) executa restante de B( ) executa restante de C( ) +A( ) +B( ) A B C +C( ) Exemplo class C extends B { int c; C() {c = 3; class B extends A { int b; B() {b = 2; class A { int a; A() {a = 1; super(); c = 3; O que este programa imprime? Fazer o exercício 7 da apostila Ordem da chamada das construtoras public class Main { C c = new C(); System.out.println(c.a + " " + c.b + " " + c.c); 90 JRevisaoOO\JExemConstrutoraChamadaImplicita 91 PARTE III: Java e OO Interface Herança Herança e Classes e métodos abstratos Classes e métodos abstratos Uma classe abstrata não pode ser instanciada Pode ter declarações de métodos Pode ter métodos com corpo Pode ter métodos abstratos ou não Pode ter atributos de instância ou de classe
10 Exemplo classe abstrata class Carro extends Veiculo { public int numeropassageiros = 5; public double calcularipva() { if (cavalos <= 100) return (cavalos * 1.5); else return super.calcularipva(); public double calcularseguroobrigatorio() { return numeropassageiros * 100; public abstract class Veiculo { public String placa="aaa0000"; public int cavalos; public double calcularipva() { return cavalos * 2.0; public abstract double calcularseguroobrigatorio(); Métodos abstratos Não podem ter corpo Devem ser implementados pelas classes derivadas concretas (instanciáveis) Não podem ser abstratos: Métodos construtores (não são herdados) Métodos estáticos (são finais) JRevisaoOO\JExemClasseAbstrata Exemplo classe e método abstratos 1. public abstract class IPVA { 2. protected static final float vlrbase = 1.50; 3. protected int qtdcavalos; 4. public abstract float calcularipva(); public class IPVACaminhao extends IPVA { 2. private int qtdeixos; 3. public float calcularipva() { 4. return vlrbase * qtdcavalos * qtdeixos; Classes abstratas x interface ABSTRATA Atributos variados Métodos abstratos Métodos não abstratos Métodos estáticos Métodos não estáticos Uma classe estende apenas UMA classe abstrata extends INTERFACE Atributos public, static e final Métodos abstratos Métodos não estáticos Uma classe IMPLEMENTA várias classes de interface implements Baixe o código do programa Rato de Tabuleiro. ~tacla/repositoriojava/jexercratosinterface.zip Como você utilizaria classes abstratas para aumentar a reutilização de código? Exerc. 8 da apostila: classe abstrata, herança e polimorfismo Destinatário Amigo Colega de trabalho Assinatura []s João de Almeida Atenciosamente, João de Almeida Ramal 3455 Parente Até mais, João de Almeida JRevisaoOO\JExercHerancaAssinatura 10
Linguagem 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 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 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 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 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 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 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 maisProf. A. G. Silva. 30 de outubro de Prof. A. G. Silva INE5603 Introdução à POO 30 de outubro de / 1
INE5603 Introdução à POO Prof. A. G. Silva 30 de outubro de 2017 Prof. A. G. Silva INE5603 Introdução à POO 30 de outubro de 2017 1 / 1 Especialização de classes (I) (Cap. 6) Operações de abstração como
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 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 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 maisIntrodução a classes e objetos. Prof. Marcelo Roberto Zorzan
Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Herança Aula de Hoje Problema Considere uma empresa que tenha tipos de empregados no aplicativo de folha de pagamento Um empregado tem nome,
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 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 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 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 OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM
Programação OO em Java Profa Andréa Schwertner Charão DELC/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 maisProgramação por Objectos. Java
Programação por Objectos Java Parte 6: Herança e Polimorfismo LEEC@IST Java 1/50 Herança revisão (1) A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse
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 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 maisParadigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto
Suporte para Programação Orientada a Objeto Cristiano Lehrer Categoria das Linguagens que Suportam POO Suporte a POO acrescentado a uma linguagem já existente: C++ (também suporta programação procedural
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 maisConceitos de Programação Orientada a Objetos
Conceitos de Programação Orientada a Objetos Tatyana Bitencourt Com as técnicas de orientação a objeto, é possível obter resultados considerados impossíveis pensando de maneira estruturada. Como Java não
Leia maisLinguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos
Linguagem de Programação II Programação Orientada a Objetos Orientação a Objetos Prof. Alessandro Borges 2 Tópicos Introdução à Programação Orientada a Objetos Conceitos Objetivos Classes e Objetos Atributos
Leia maisProgramação Java (nível intermediário) 4. Polimorfismo
Programação Java (nível intermediário) 4 Polimorfismo Introdução Uma linguagem orientada a objetos nos permite definir novos tipos para variáveis Nós definimos um novo tipo através de uma classe Este tipo
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 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 maisAULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos
Câmpus Santa Helena Curso: Ciência da Computação Disciplina: Programação Orientada a Objetos AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos Tema
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 maisNotas de Aula 04: Herança e polimorfismo.
Notas de Aula 04: Herança e polimorfismo. Objetivos da aula: Introduzir o conceito de Heranças Criar uma hierarquia de classes Rever o uso de modificadores de acesso. Apresentar o conceito de polimorfismo
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 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 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 maisEncapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos
Encapsulamento e Métodos (Construtores e Estáticos) Sobrecarga de Métodos João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro Conceitos sobre Encapsulamento; Variável this; Métodos Construtores;
Leia maisModificadores de Acesso JAVA
Modificadores de Acesso JAVA Definição Os modificadores de acesso são padrões de visibilidade de acessos às classes, atributos e métodos. Esses modificadores são palavras-chave reservadas do Java. E as
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 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 maisOrientação a Objetos AULA 06
Orientação a Objetos AULA 06 Prof. Fabrício Martins Mendonça Conteúdo da Aula ü Herança ü Sobrescrita e reescrita de métodos ü Sobrecarga ü Efeitos de Herança ü Polimorfismo 2 Um dos principais recursos
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 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 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 4 Tipos Enumerados Generalização e Herança Visibilidade Chamada de Construtores
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 maisDesenvolvimento Web TCC-00.226 Turma A-1
Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Orientação a Objetos Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226
Leia maisHerança e Propriedades
Herança e Propriedades 2013 O que veremos hoje? Herança e Propriedades Transparências baseadas no material do Prof. Gilbert Azevedo e Prof. Jailton Carlos Objetivos Conceito de Herança em POO Herança 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 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 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 maisProf. Vicente Paulo de Camargo UML - INTRODUÇÃO UML = Unified Modeling Language = linguagem de modelagem de sistemas Permite especificar, visualizar e documentar modelos de software orientados a objetos
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 maisLinguagens de Programação Aula 12
Linguagens de Programação Aula 12 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Implementando subprogramas 2 Na aula de hoje Suporte para a programação orientada a objetos 3 Roteiro Introdução
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 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 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 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 maisPOO UML e Outros Conceitos. Prof. Vicente Paulo de Camargo
Prof. Vicente Paulo de Camargo UML - INTRODUÇÃO UML = Unified Modeling Language = linguagem de modelagem de sistemas Permite especificar, visualizar e documentar modelos de software orientados a objetos
Leia maisUNIVERSIDADE PAULISTA - UNIP ICET INSTITUTO DE CIÊNCIAS EXATAS E TECNOLÓGIA
LPOO - Linguagem de Programação Orientada a Objetos Prof. Msc. Célio R. Castelano Página 1 de 7 Curso Ciência da Computação Professor Célio Ricardo Castelano UNIVERSIDADE PAULISTA - UNIP ICET INSTITUTO
Leia maisOrientação a objetos. Programação. Orientada a Objetos. Orientação a objetos. Orientação a objetos. Abstração e encapsulamento
Orientação a objetos Programação Orientada a Objetos Alexandre César Muniz de Oliveira Linguagens orientadas a procedimentos e linguagens orientadas a objetos Unidade de programação: funções e classes
Leia maisIntrodução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis
Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Estruturas de Seleção if... else Operador condicional (? : ) switch Aula de Hoje Estruturas de Repetição: while/do... while/for
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 maisLinguagem de programação Programação Orientada a objetos
Instituto Federal de Minas Gerais Campus Ponte Nova Linguagem de programação Programação Orientada a objetos Professor: Saulo Henrique Cabral Silva Paradigma da orientação a objetos Paradigma = forma de
Leia maisProgramação Orientada a Objetos. Métodos e Atributos. Métodos. Métodos. Alexandre César Muniz de Oliveira. Parte III
Programação Orientada a Objetos Alexandre César Muniz de Oliveira Métodos e Atributos Parte III Métodos [mod] tipo nome ([tipo arg]) [throws exc]{ [mod]: zero ou mais modificadores separados por espaços
Leia maisAvançando em Java com Polimorfismo. Prof.: Hugo Barros
Avançando em Java com Polimorfismo Prof.: Hugo Barros Tópicos da Aula Polimorfismo: Exemplos de polimorfismo Vantagens do polimorfismo Tipos de polimorfismo Métodos Abstratos Classes Abstratas Vinculaçã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 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 Interfaces Uma interface é uma forma abstrata de descrever um objeto A classe fixa a forma de um objeto
Leia maisPROGRAMAÇÃO ORIENTADA A
PROGRAMAÇÃO ORIENTADA A OBJETOS II -TÉCNICAS DE OO Prof. Angelo Augusto Frozza, MS M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 4. Técnicas de Orientação a Objetos Classes e objetos Herança Métodos Subscritos
Leia maisPOO e C++: Herança e Polimorfismo
POO e C++: Herança e Polimorfismo Márcio Santi Luiz Fernando Martha Conceito de Herança em POO Recurso que torna o conceito de classe mais poderoso; Permite que se construa e estenda continuamente classes
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 maisUniversidade da Beira Interior Cursos: Engenharia Informática, Matemática /Informática e Ensino da Informática
6 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 maisComputação II - Java - Teste 1.2 Prof. Adriano Joaquim de Oliveira Cruz 2015/04/27
1. Defina os sequintes termos: (a) (1 Ponto) Polimorfismo Computação II - Java - Teste 1.2 Prof. Adriano Joaquim de Oliveira Cruz 2015/04/27 (b) (1 Ponto) Sobrescrita de funções (c) (1 Ponto) Sobrecarga
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 maisPolimorfismo. O que é polimorfismo?
O que é polimorfismo? Polimorfismo Significa que variáveis podem referenciar mais do que um tipo. Não é um conceito novo e várias linguagens de programação aplicam. Funções são polimórficas quando seus
Leia maisProgramação com Objectos. Processamento de Dados I. 2. Classes, Atributos e Métodos
Programação com Objectos Processamento de Dados I 2. Classes, Atributos e Métodos 1 Classes, Atributos e Métodos Modificadores de acesso (visibilidade) Sobrecarga de métodos (method overloading) Variáveis
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 maisA B Classe Genérica D A C. Classe Especializada. Classe Especializada. Características Herdadas
Herança e Polimorfismo Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Revisando -Herança Estrutura Hierárquica e modular Projeção de classes genéricas que podem ser especializadas
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 maisUNIDADE 5 Aplicação dos Conceitos de Orientação a Objetos
UNIDADE 5 Aplicação dos Conceitos de Orientação a Objetos Objetivo da Unidade*: Conhecer e aplicar os conceitos mais importantes associados a orientação a objetos. 5.1 Métodos e atributos estáticos Atributos
Leia maisInterfaces e Classes Abstratas
Interfaces e Classes Abstratas José Gustavo de Souza Paiva Problema Método obterarea()? Classes Abstratas Classes que funcionam como um molde Declarada com comando abstract Contém um ou mais métodos abstratos
Leia maisAula 10 POO 1 Classes Abstratas. Profa. Elaine Faria UFU
Aula 10 POO 1 Classes Abstratas Profa. Elaine Faria UFU - 2019 Problema Método obterarea()? Classes Abstratas Classes que funcionam como um molde Declarada com comando abstract Contém um ou mais métodos
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 maisIntrodução ao Java. Prof. Herbert Rausch Fernandes
Introdução ao Java Prof. Herbert Rausch Fernandes Orientação a Objetos Programação Orientada por Objetos: é a construção de sistemas de software como uma coleção estruturada de implementações de tipos
Leia maisFundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus
Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis
Leia maisHerança Tiago Eugenio de Melo
Herança Tiago Eugenio de Melo tiago@comunidadesol.org Herança Conceito: Herança é a capacidade de especializar tipos de objetos (classes), de forma que os tipos especializados contenham, além de características
Leia maisLinguagem de Programação II Herança
Linguagem de Programação II Herança Prof. Alessandro Borges 2 Tópicos Reutilização de classes Delegação Herança Definição Superclasse e Subclasse A palavra reservada extends Método construtor com herança
Leia maisProgramação por Objectos. Java
Programação por Objectos Java Parte 7: Interfaces LEEC@IST Java 1/31 Interfaces revisão (1) Uma interface é um conjunto de protótipos de métodos (sem implementações) que especifica um serviço bem definido:
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 maisHerança e Polimorfismo - Parte II -
Herança e Polimorfismo - Parte II - Programação Orientada a Objetos Java Prof. Geraldo Braz Junior A hierarquia do exemplo DoME 2 Saída incompleta O que queremos CD: A Swingin' Affair (64 mins)* Frank
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 maisOrientação a Objetos Parte I. Introdução a POO (Programação Orientada a Objetos)
Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos) Histórico Gerações de Linguagens de Programação Primeira Geração: Linguagem de máquina Segunda Geração: Linguagem de montagem
Leia mais1 Introdução e Conceitos básicos
1 Introdução e Conceitos básicos Aula 02 Sumário Capítulo 1 Introdução e Conceitos básicos 1.1 Modelos 1.2 Tipos primitivos de dados 1.3 Tipo Abstrato de dados 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2
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 e Polimorfismo -Parte II -
Herança e Polimorfismo -Parte II - Mário Meireles Teixeira mario@deinf.ufma.br A hierarquia do exemplo DoME 2 1 Saída incompleta O que queremos CD: A Swingin' Affair (64 mins)* Frank Sinatra tracks: 16
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 maisRafael B. Pereira (http://www.rbper.com)
Nesse caso a cláusula this() serve para chamar o construtor da própria classe. Agora vamos supor que fosse desejado chamar um construtor da classe pai. Como isso poderia ser feito? Bastaria usar a cláusula
Leia maisextendsé usado para indicar herança em JAVA
Herança e Polimorfismo Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Revisando extendsé usado para indicar herança em JAVA class ClasseA{ protected int a; public int geta()
Leia maisInterfaces. Classes abstratas que possuem apenas métodos abstratos. Na Interface: Métodos são implicitamente. Campos são implicitamente
Classes abstratas que possuem apenas métodos abstratos Na Interface: Métodos são implicitamente abstract e public Campos são implicitamente static e final Não possuem construtores assim como as classes
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 maisClasses e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II Classes e Objetos Objetos Um conjunto de estados e comportamentos Classes Um modelo para a criação de objetos 1 Pacotes e Java API Pacotes Um conjunto
Leia maisCOMPORTAMENTOS - Observações
COMPORTAMENTOS - Observações O próprio objeto realiza operações de consulta ou alteração dos valores dos seus atributos Essas operações são definidas em seus métodos Os métodos também são utilizados para
Leia mais