Programação Java III. Prof. Vinicius Rosalen

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

Download "Programação Java III. Prof. Vinicius Rosalen"

Transcrição

1 Programação Java III Prof. Vinicius Rosalen

2 Parte III

3 Métodos e Classes Abstratas Resumo da aula anterior... Ao criarmos uma classe para ser estendida, Às vezes codificamos alguns métodos para os quais não sabemos dar uma implementação, ou seja, Um método que só subclasses saberão implementar Uma classe deste tipo não pode ser instanciada pois sua funcionalidade está incompleta. É como se tentássemos andar de carro sem ter as rodas construídas... Tal classe é dita abstrata.

4 Métodos e Classes Abstratas Resumo da aula anterior... Uma classe abstrata é utilizada quando desejase: Fornecer uma interface comum a diversos membros de uma hierarquia de classes. Não se preocupar COMO, apenas QUAL o contrato que deve ser obedecido...

5 Java Métodos e Classes Abstratas Resumo da aula anterior... Classes Abstratas Método sem corpo { } Características - Abstração : suprimir detalhes para melhor compreensão - Classe abstrata - possui métodos abstratos - Força a implementação para que possa ser instanciada Todos os veículos possuem a ação de abastecer, mas a forma de abastecer (álcool, gasolina ou diesel) só é conhecida pelas filhas da herança

6 Upcasting e Downcasting Resumo da aula anterior... Outro dois conceitos bastante importantes é sobre: A conversão de tipos na relação das classes em herança. Os conceitos são de o polimorfismo de : Downcasting e Upcasting

7 Upcasting e Downcasting Em Java, Upcasting é automático A conversão de tipos para o topo da hierarquia é automático Ampliação (upcasting) é a conversão implícita de uma subclasse para uma superclasse Se tenho o tipo Pai e instancio o Filho é automático. O contrário não. Mas Downcasting deve ser explícito A conversão de tipos para as folhas da hierarquia deve ser explicitado. - O Pai está contido no filho. - Mas o filho não está contido no pai - Questão de reserva de memória.

8 Upcasting e Downcasting Vamos analisar um exemplo... Máscara de visualização Área efetiva alocada Ponto pt = new PontoColorido(0,0,1); PontoColorido px = (PontoColorido)pt; Ponto PontoColorido pt = px // UpCasting (Pai recebe o filho) px = pt; // Erro, filho não recebe o pai diretamente px = (PontoColorido)pt; // Downcast Mas só enxerga as áreas em comum a ambos Ponto pt2 = new Ponto(); PontoColorido py = (PontoColorido)pt2; System.out.println(py.cor); //ERRO de execução espaços de memórias diferentes cor é um atributo de PontoColorido, mas só foi alocado a área de Ponto

9 Java Métodos e Classes Abstratas e Casting Pra que usar isso...exemplo das figuras e classe Composta: Os atributos F1 e F2 da classe Composta pertencem à classe Pai Figura E no exemplo, eles recebem valores pertencentes às classes Filhas Circulo, Quadrado e Composta: class Composta extends Figura { Figura F1, F2;. void Composta(Figura f1,f2) { F1 = f1; F2 = f2; }.. }... Composta comp1 = new Composta(c1,q); Composta comp2 = new Composta(comp1,c2);... Olha que legal, ele pode inclusive receber uma figura composta qualquer, não importa o formato, afinal ela também é uma Figura Isso é possível graças conversão implícita de tipo (upcasting), que é uma propriedade inerente aos objetos com relação de herança.

10 Métodos e Classes Abstratas Hoje nós vamos ampliar o nosso conhecimento em OO, conversando sobre: A palavra reservada SUPER Herança Múltipla e Interfaces Exercícios Vamos lá. Primeiramente vamos falar sobre a palavra reservada super...

11 Palavra reservada super Super pode ser utilizado explicitamente para: Referenciar o construtor da superclasse Para se referir ao construtor da classe pai, basta usar o operador super( ). Referenciar um outro método ou atributo da classe pai Para se referir a elementos da classe pai, basta usar o operador super

12 Construtores de subclasse Chamada Explícita ao construtor base 1: public class Circle 2: { 3: public double x,y,r; 4: public Circle(double x, double y, double r) { 5: this.x = x; 6: this.y = y; 7: this.r = r; 8: } 9: public Circle(double r){ 10: this(0.0,0.0,r); 11: } 12: } 1: public class GraphicCircle extends Circle 2: { 3: Color color; 2: public GraphicCircle 2b: (double x, double y, double r, Color color) { 3: super(x,y,r); 4: this.color = color; 5: } 6: }

13 Herança em Java Livro possui autor e paginas (definidos na própria classe); Livro possui nome e preço (definidos na superclasse); Livro pode receber mensagens ehgrande() (definida na própria classe); Livro pode receber mensagens ehcaro() (definida na superclasse). O que será impresso?

14 Construtores de subclasse No caso de uma hierarquia de classes, O que acontece se não chamar explicitamente o construtor da classe pai???

15 Ordem de construção Relembrando... Quando construímos um novo objeto, os seguintes passos são efetuados: 1º: Os atributos da classe são zerados inicializados com seus valores default: 0, false ou null; 2º: Se a classe participa de alguma hierarquia, o construtor da superclasse é chamado; Primeiro constrói o pai, depois o filho» Você existiria sem seus pais 3º: Os atributos da classe recebem os seus valores iniciais (se especificados), na ordem em que foram definidos na classe; 4º: O corpo do construtor da classe é chamado.

16 Ordem de construção No caso de não haver chamada explícita, A linguagem Java chama o construtor padrão da superclasse. Característica intrínseca de herança Java chama implicitamente o construtor default da superclasse. Se não existir um construtor default na superclasse, haverá um erro de compilação No entanto, o finalizador da superclasse não é invocado. Deve ser feito de forma explícita

17 Construtores de subclasse Chamada Implícita ao construtor base O que será impresso?

18 O que será impresso? Construtores de subclasse

19 IMPORTANTE... Pode-se redeclarar um atributo ou método de mesmo nome numa classe derivada. Apesar do atributo ou método oculto ainda ser acessível, essa construção gera confusão sem trazer nenhum benefício. Evite essa prática Atributos e Métodos Ocultos

20 class Super { Super() { Chamada Explícita e Implícita System.out.println("Construtor Super"); } O que será impresso? } void teste() { System.out.println("Metodo Superclasse");} class Subclasse extends Super { Subclasse() { System.out.println("Construtor Subclasse"); } void teste() { super.teste(); System.out.println("Metodo Subclasse"); } } class ProgramaSuperExplicito { public static void main (String arg[]) { System.out.println( Heranca 2 ); Subclasse sub = new Subclasse(); sub.teste(); } } Métodos sobrescritos podem chamar sua versão na superclasse usando a palavra super < (super.método() >

21 O que será impresso? Atributos Ocultos

22 Herança Múltipla Em algumas linguagens de programação OO: As classes podem ter mais de um superclasse, Herdando variáveis e métodos combinados de todas essas superclasses Isto é chamado de herança múltipla Herança Múltipla fornece margem para praticamente qualquer comportamento imaginável Contudo complica bastante as definições de classes e o código para produzi-la, além do entendimento

23 Herança Múltipla Exemplo de utilização de herança múltipla ObjetoColorido obtemcor() mudacor() liga() acelera() Carro CarroEsporteColorido

24 Herança Múltipla Outro exemplo de utilização herança múltipla extends extends

25 Herança Múltipla Outro exemplo de utilização de herança múltipla Um gerente de banco pode assumir características de: Funcionário, Acionista e Cliente em diferentes instantes.

26 Herança Múltipla Java simplifica a herança Permitindo diretamente apenas a herança simples ou única das classes Java NÃO permite múltipla herança de classe, Pois foi verificado em outras linguagens que sua implementação é muito confusa Um dos problemas que podem surgir... É o conflito de nomes de atributos ou métodos herdados desse tipo de herança, além de heranças repetidas Problemas de códigos

27 Herança Múltipla Herança múltipla de classe não é permitida em Java ObjetoColorido obtemcor() mudacor() liga() acelera() Carro extends extends CarroEsporteColorido Como construir então essa característica em Java?

28 Interfaces Em Java, os objetos podem implementar uma interface... As interfaces são como classes, mas não têm nenhuma implementação. Define apenas as assinaturas de operações externamente visíveis que uma classe pode implementar, sem conter nenhuma especificação ou estrutura interna Interfaces não possuem implementação, somente assinaturas de operações (100% abstratas); Interfaces suportam herança, mesmo herança múltipla. Interfaces podem herdar de outras interfaces, e suportam herança múltipla (enquanto classes suportam herança simples); Mecanismo para prover flexibilidade devido à ausência de herança múltipla de classes; Interfaces definem subtipos, enquanto a herança define as subclasses.

29 Java Herança Múltipla Solução para herança múltipla Escolha uma das classes para herdar; Para as demais, crie interfaces e implemente-as; Use composição ou agregação para fazer reuso. extends extends extends implements

30 Interfaces Características Gerais Importantes Estabelece a interface (o contrato) de um conjunto de classes; Permite a construção de código genérico: Trabalha com qualquer objeto que implemente a interface; Obriga programadores a implementar determinados métodos em suas classes para usar seu código. São públicas (mesma regra das classes); Classes utilizam implements ao invés de extends para implementar uma interface. Todos os métodos são public & abstract; Todos as variáveis são final & static, inicializados isto é, apenas constantes

31 Java - Class x Interface Sintaxe para Classe e Interface em Java Interfaces não permitem declaração de atributos variantes (somente estáticos), enquanto que classes permitem outros. Interfaces estão mais ligadas a comportamento, enquanto que classes estão mais ligadas a implementação.

32 Java - Interface Resumindo: Membros da Interface Métodos definidos na interface são automaticamente públicos e abstratos; Atributos definidos na interface são automaticamente públicos e estáticos. Método sem corpo { }

33 Interface ou classe abstrata? Importante: Classes Abstratas X Interfaces Você deve estar achando que classes abstratas e interfaces são conceitos parecidos e que podem ser usados com objetivos semelhantes. Cuidado! Uma classe pode estender uma única classe (que pode ser abstrata ou não), mas pode implementar várias interfaces. Além disso, interfaces não permitem declaração de atributos variáveis (somente estáticos), enquanto que classes abstratas permitem. Interfaces estão mais ligadas a comportamento, enquanto que classes abstratas estão mais ligadas a implementação. Sempre que possível, use interfaces

34 Blz, Interface ou classe abstrata? Tudo isso é bonito e legal, mas pra que eu tenho que ver isso...?? Vamos analisar um exemplo para entender melhor porque a gente deve entender e usar interfaces

35 Interface ou classe abstrata? Imagine que temos um Hierarquia dos animais, e devemos simular animais em um ambiente. Se analisarmos as relações ao lado, a classe Dog para um programa de ciências está OK..... Mas e para programa que simule um Pet Shop???

36 Interface ou classe abstrata? 1ª Opção: Métodos que simulam os comportamentos de um Pet (Animal de Estimação) implementados em Animal. Prós: Todas as subclasses possuirão esses comportamentos. Uso do polimorfismo. Contras: Existem subclasses de Animal que não precisam desses comportamentos (Hippo, Lion, Tiger, Wolf)

37 Interface ou classe abstrata? 2ª Opção: Métodos abstratos que simulam os comportamentos de um Pet (Animal de Estimação) implementados em Animal. Prós: Todas as subclasses possuirão esses comportamentos; Uso do polimorfismo; Cada subclasse com seu próprio comportamento. Contras: Todas as subclasses concretas devem implementar os métodos abstratos.

38 Interface ou classe abstrata? 3ª Opção: Comportamentos de animais de estimação nas subclasses Dog e Cat. Prós: Comportamento de animal de estimação somente onde necessário; Cada subclasse implementa o comportamento que quiser. Contras: Pode não haver uma padronização dos comportamentos Pet em uma subclasse. Ex.: Se as classes forem implementadas por programadores diferentes. Não pode usar polimorfismo para os comportamentos (métodos) dos animais de estimação.

39 Interface ou classe abstrata? 4ª Opção: Nova classe com comportamentos de animais de estimação Prós: Garante que todos os animais de estimação terão as mesmas definições de métodos; Polimorfismo

40 Interface ou classe abstrata? 4ª Opção: Nova classe com comportamentos de animais de estimação Contras: Duas Superclasses; Java NÃO implementa herança múltipla.

41 Solução: INTERFACE Interface ou classe abstrata? É como uma classe abstrata, mas só tem: Métodos abstratos, públicos Campos finais estáticos, públicos

42 Interfaces Outra coisa legal que a gente pode fazer com interfaces está ligado ao polimorfismo... Interfaces permitem a construção de código genérico Ou seja trabalhar com qualquer objeto que implemente a interface; Em outras palavras... Posso passar qualquer objeto que implementa essa interface Imagine as possibilidades...

43 Interfaces Lembram do nosso exemplo... Com a utilização de interface para herança múltipla em Java, ele ficaria assim.. <<interface>> ObjetoColorido Color obtemcor() void mudacor(color cor) liga() acelera() Carro implements extends CarroEsporteColorido Color cor

44 Java Herança Múltipla Implementação do Carro e Objeto Colorido Métodos sem corpo { } A implementação do método não está na interface mas sim na classe que a implements

45 O que será impresso? AplicacaoDeCor Java - Herança Múltipla Interface (utilização) Posso passar qualquer objeto que implementa essa interface.. Imagine as possibilidades... Como o parâmetro da função ehazul é uma interface... O mail legal é que interface permitem a construção de código genérico: Trabalha com qualquer objeto que implemente a interface;...qualquer classe que implementa esta interface pode ser passada como parâmetro

46 Interfaces e Heranças Outro conceito importante é que Interfaces suportam herança, mesmo herança múltipla. Interfaces podem herdar de outras interfaces, e suportam herança múltipla (enquanto classes suportam herança simples); Mecanismo para prover flexibilidade devido à ausência de herança múltipla de classes;

47 Java - Interface Hierarquias de interfaces Uma interface pode estender outra Uma classe pode implementar várias interfaces Pessoa é uma outra interface Método Pedala é abstract O método Pedala deve ser implementado nesta classe

48 Java - Interface Hierarquias de interfaces Uma interface pode estender outra:

49 Java - Interface Importante: Uma interface pode implementar uma classe abstrata A implementação dos métodos abstratos da interface e da classe fica para os filhos

50 Java - Interface O que o código está fazendo? Mensuravel.java Compara.java Interface - Permitindo a compatibilidade entre duas classes diferentes MainCompara.java

51 Exercícios Blz... Agora é hora de exercitar... Tente resolver ou analisar os seguintes problemas... Em dupla Apresentar ao professor no final da aula Pontuação em Atividades em sala de aula... Faça o JAVADOC de todos os exercícios!!!

52 8. Sempre podemos optar por herança simples ou implements? Exercício 1. Crie um projeto e copie o conteúdo da classe do próximo slide para um arquivo chamado Mostra.java; 2. Compile e execute o código; 3. Analise os resultados; 4. Retire os marcadores de comentários //, e compile; 5. Por que o código não compila? 6. Utilizando implements, o que pode ser feito para que o método Nome das classes Cicrano e Beltrano sejam evocadas? 7. Utilizando herança simples, o que pode ser feito para que o método Nome das classes Cicrano e Beltrano sejam evocadas?

53 class Fulano { } public String Nome() { return "Fulano da Silva"; } class Cicrano { public String Nome() { return "Cicrano da Veiga"; } } class Beltrano { public String Nome() { return "Beltrano da Slovinsky"; } } class Mostra { static void MostraNome(Fulano r) { System.out.println("***> "+r.nome()+" <***"); } public static void main(string[] arg) { Fulano f=new Fulano(); Cicrano c=new Cicrano(); Beltrano b=new Beltrano(); MostraNome(f); //MostraNome(c); //MostraNome(b); } }

54 Exercício O que o código está fazendo? Analise o código, modifique, veja o que acontece.. Aplique as ideias que vimos... Musica.java Exercicio6.java

55 Exercício 1/2 Implemente o cenário abaixo Definir atributos, métodos, etc...

56 Exercício 2/2 Utiliza e implementa uma interface para um robô Exemplo: abstract class RoboCop extends Pessoa implements Robo Faça com que esse robô também implemente a interface Relógio

57 Exercício Implementar Hierarquia abaixo, com métodos simplificados Definir atributos, métodos, etc... Olhar nos slides anteriores da aula... Interface Classes

58 Exercício Considere o diagrama de classes do slide seguinte: a) Crie uma interface de nome Motorizado onde são declarados os métodos void ligarmotor() e void abastecer(int numlitros). b) Implemente a interface Motorizado nas classes Aviao e Carro. c) Escreva um pequeno programa de teste capaz de verificar a implementação anterior. d) Crie uma interface de nome Conduzivel onde é declarado o método void curvar(float angulo). e) Implemente a interface Conduzivel nas classes Aviao, Carro e Bicicleta. f) Complete o programa de teste efetuado anteriormente por forma a testar estas últimas implementações.

59 Exercício

60 Exercício Crie a seguinte hierarquia de classes: Uma interface para representar qualquer forma geométrica, definindo métodos para cálculo do perímetro e cálculo da área da forma; Uma classe abstrata para representar quadriláteros. Seu construtor deve receber os tamanhos dos 4 lados e o método de cálculo do perímetro já pode ser implementado; Classes para representar retângulos e quadrados. A primeira deve receber o tamanho da base e da altura no construtor, enquanto a segunda deve receber apenas o tamanho do lado; Uma classe para representar um círculo. Seu construtor deve receber o tamanho do raio. No programa principal, crie quadrados, retângulos e círculos com tamanhos diferentes e armazene num vetor. Em seguida, imprima os dados (lados ou raio), os perímetros e as áreas de todas as formas.

61 Exercício Implementar classes Pessoa, Liquido e classes filhas desta; Pessoa deve implementar o método beber(liquido); Criar outros atributos e métodos que se julgue necessários; Imprimir estado da pessoa ao beber diferentes tipos de líquido;

62 Exercício

63 Exercício Desenvolva as classes ao lado. Crie uma classe ExemploBanco que faça operações nesse banco. Pegue as informações via teclado ContaDeBanco saldo contadebanco() deposito() retirada() mostrasaldo() ContaPoupança diaaniversário correção contapoupança() corrigesaldo() mostrasaldo() ContaEspecial limite contaespecial() mostrasaldo()

64 Exercício

65 Exercício

66 Exercício

67 Exercício Identifique e explique o(s) erro(s) na classe a seguir. Implemente as correções Implemente uma classe que cria uma instância de EntradaNaAgenda e acesse o método tostring()

68 Exercício

69 Exercício Identifique e explique o(s) erro(s) na classe a seguir. Implemente as correções Implemente uma classe que cria uma instância de DiscoOtico e acesse os métodos tostring() e capacidadeemmegabytes()

70 Exercício

71 Exercício O que o código está fazendo?

72 Exercício O que o código está fazendo?

73 Exercício O que o código está fazendo? Exercicio5.java

74 O que será impresso? Exercício

75 O que será impresso? Exercício

76 Exercício Considere o diagrama de classes do slide seguinte: Crie as relações... Escreva um pequeno programa de teste capaz de verificar a implementação anterior.

77

Java First-Tier: Aplicações. Sobrecarga. Orientação a Objetos em Java (II) Sobrecarga de Construtores: Exemplo de Declaração

Java 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

Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces

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

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }

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

Classes e Objetos. Sintaxe de classe em Java

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

Recapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }

Recapitulando. 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 mais

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

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

Leia mais

Interfaces e Classes Abstratas

Interfaces 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 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/50 Herança revisão (1) A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse

Leia mais

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs

Programaçã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 mais

Linguagem de Programação III

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

Ex: carro_desportivo poderá ser uma subclasse de automóvel (carro_desportivo é_um automóvel)

Ex: 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 mais

Herança. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.

Heranç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 mais

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos

Programaçã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 mais

Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -

Programaçã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 mais

Classe Abstrata e Interface

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

4 Conceito de Herança

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

Aula 10 POO 1 Classes Abstratas. Profa. Elaine Faria UFU

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

Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces

Unidade: 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 mais

Laboratório de programação II

Laborató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 mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação

Programaçã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 mais

Interfaces. 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. 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 mais

Herança. Prof. Fernando V. Paulovich 23 de agosto de 2010

Heranç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 mais

Herança e Polimorfismo

Heranç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 mais

Aula 9 Herança. Prof. Jefersson Alex dos Santos

Aula 9 Herança. Prof. Jefersson Alex dos Santos Aula 9 Herança Prof. Jefersson Alex dos Santos Roteiro Introdução Conversão de tipo explícita (Cast) Acesso Protegido A classe Object A classe Class Reflexão Recomendações de Projeto Herança Técnica necessária

Leia mais

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

Introduçã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 mais

Programação Orientada a Objetos SANTOS, Rafael

Programação Orientada a Objetos SANTOS, Rafael Programação Orientada a Objetos SANTOS, Rafael Neste capítulo e nos seguintes serão usados intensamente os conceitos básicos de OO e da linguagem estudados até agora, com ênfase para os de número 1, 2

Leia mais

Programação Orientada a Objetos. SANTOS, Rafael (PLT) e Guia de Estudo SCJP. SIERRA, Kathy e BATES, Bert

Programação Orientada a Objetos. SANTOS, Rafael (PLT) e Guia de Estudo SCJP. SIERRA, Kathy e BATES, Bert Programação Orientada a Objetos. SANTOS, Rafael (PLT) e Guia de Estudo SCJP. SIERRA, Kathy e BATES, Bert Há situações em que não deve haver instâncias de determinadas classes Há modelos incompletos que

Leia mais

Conceitos de Programação Orientada a Objetos

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

Unidade: sobrecarga, construtores e herança

Unidade: sobrecarga, construtores e herança Unidade: sobrecarga, construtores e herança 0 Unidade: sobrecarga, construtores e herança Sobrecarga Sobrecarregar (do inglês overload) um método é criar mais métodos com o mesmo nome, porém com assinaturas

Leia mais

POO29004 Programação Orientada a Objetos

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

C com introdução a OO

C com introdução a OO ... Centro Integrado de Tecnologia da Informação C com introdução a OO ... Centro Integrado de Tecnologia da Informação Aula 9 Ronald Dener - Instrutor Matheus Soares - Monitor 17 / outubro 17 / outubro

Leia mais

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

Heranç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 mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programaçã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 mais

9 Classes Abstractas e Interfaces

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

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

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

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

Programação Orientada a Objetos Flávio de Oliveira Silva 144

Programaçã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 mais

Programação. Orientada a Objetos: Herança. Objetos. Relacionamento entre classes. Análise e Projeto Orientados a. Objetos

Programaçã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 mais

Programação Java (nível intermediário) 4. Polimorfismo

Programaçã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 mais

6 Polimorfismo. Desenvolvimento OO com Java. Vítor E. Silva Souza ~ vitorsouza

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

Linguagens de Programação Aula 12

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

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programaçã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 mais

Polimorfismo e Ligação Dinâmica. Alcides Pamplona Polimorfismo e Ligação Dinâmica

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

POO29004 Programação Orientada a Objetos

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

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

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

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

AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos

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

Linguagem de Programação. Diagrama de classes

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

Interfaces e polimorfismo

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

Programaçã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 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 mais

POO e C++: Herança e Polimorfismo

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

Herança Tiago Eugenio de Melo

Heranç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 mais

Computação II Orientação a Objetos

Computaçã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 mais

Programaçã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 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 mais

Herança e Propriedades

Heranç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 mais

Introdução ao Java. Prof. Herbert Rausch Fernandes

Introduçã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 mais

Programação Orientada a Objetos. Aula 1.9 this e static. Prof. Bruno Moreno

Programação Orientada a Objetos. Aula 1.9 this e static. Prof. Bruno Moreno Programação Orientada a Objetos Aula 1.9 this e static Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Relembre: Clase RoboSimples Os métodos move() e move(int passos) podem ser reescrito sem redundância de

Leia mais

POO29004 Programação Orientada a Objetos

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

Como exemplo, vamos criar uma subclasse da classe Funcionario, vista nos capítulos anteriores.

Como exemplo, vamos criar uma subclasse da classe Funcionario, vista nos capítulos anteriores. HERANÇA E POLIMORFISMO Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 7 A herança é um importante recurso da programação orientada a objeto que

Leia mais

Linguagem de Programação II Implementação

Linguagem 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 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 Editor Gráfico Vamos usar nosso framework do Motor, com pequenas mudanças (para permitir interação com

Leia mais

Avançando em Java com

Avançando em Java com Avançando em Java com Polimorfismo (Interfaces) Prof.: Hugo Barros Interfaces Como já foi dito, java não permite que uma classe herde recurso de mais de uma classe. Herança múltiplipa é um recurso muito

Leia mais

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; Tudo no mundo real pode ser representado por meio do conceito de "objeto": uma planta, uma mesa, uma pessoa, um sentimento,

Leia mais

Programação Orientada a Objetos JAVA - NETBEANS

Programação Orientada a Objetos JAVA - NETBEANS Programação Orientada a Objetos JAVA - NETBEANS Agenda Programação Orientada a Objeto (POO) Conceitos sobre POO Pilares da POO Objeto Classe Construtores Troca de Mensagens Pilares da POO Encapsulamento

Leia mais

Linguagem de Programação IV Introdução

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 mais

Programação Orientada a Objetos II

Programaçã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 mais

A B Classe Genérica D A C. Classe Especializada. Classe Especializada. Características Herdadas

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

Linguagem de programação Programação Orientada a objetos

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

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 mais

[Desenvolvimento OO com Java] Classes abstratas e interfaces

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

Herança (parte 2) Redefinição de métodos AULA 11

Heranç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 mais

Polimorfismo. PARTE II: Java e OO. Polimorfismo. Polimorfismo. Polimorfismo. Polimorfismo

Polimorfismo. PARTE II: Java e OO. Polimorfismo. Polimorfismo. Polimorfismo. Polimorfismo 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

Leia mais

Vejamos o seguinte exemplo public class Exemplo private int testada = 20; public void testapalavra(int testada) JOptionPane.showMessageDialog(null,"Pa

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

Herança. Fátima L. S. Nunes Luciano A. Digiampietri Norton T. Roman SISTEMAS DE INFORMAÇÃO 1

Herança. Fátima L. S. Nunes Luciano A. Digiampietri Norton T. Roman SISTEMAS DE INFORMAÇÃO 1 Herança Fátima L. S. Nunes Luciano A. Digiampietri Norton T. Roman 1 1 1 Motivação Você está desenvolvendo um sistema de gerenciamento de pessoal para a USP Precisa fazer: Cadastro de alunos e professores

Leia mais

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Aula de Hoje Abstração de Dados Classes e Objetos Definição de Métodos Métodos com parâmetro Abstração de Dados Processo mental através do qual

Leia mais

p Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco

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

Java para Desktop. Programação Orientada à Objetos 2 JSE

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

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação

Programaçã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 mais

Introduçã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 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 mais

Polimorfismo. O que é polimorfismo?

Polimorfismo. 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 mais

Orientaçã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. 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 mais

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1636 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 3 Ponteiros e Variáveis de Objeto Construtores e Blocos de Inicialização

Leia mais

Professor Leonardo Cabral da Rocha Soares Lattes:

Professor Leonardo Cabral da Rocha Soares Lattes: Professor Leonardo Cabral da Rocha Soares Lattes: http://lattes.cnpq.br/3184602538494393 A Herança, em programação orientada a objetos (POO), é a possibilidade de escrever novas classes partindo de classes

Leia mais

Java 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: 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 mais

Programação por Objectos. Java

Programaçã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 mais

Lição 11 Herança, polimorfismo e interfaces

Liçã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 mais

Orientação a Objetos Classes Abstratas

Orientação a Objetos Classes Abstratas Orientação a Objetos Classes Abstratas Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/

Leia mais

Avançando em Java com Polimorfismo. Prof.: Hugo Barros

Avanç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 mais

Linguagem de Programação II Implementação

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

Programação Java. - Herança e Polimorfismo - Marco Fagundes Marco Fagundes -

Programaçã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 mais

Lista de exercícios 2

Lista de exercícios 2 UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO DE CIÊNCIAS AGRÁRIAS CCA/ UFES Departamento de Engenharia Rural Disciplina: Programação II Professora: Juliana Pinheiro Campos Data: 19/10/2012 Lista de exercícios

Leia mais

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Andrew Diniz da Costa andrew@les.inf.puc-rio.br Programa Capítulo 3 Ponteiros e Variáveis de Objeto Construtores

Leia mais

Introdução. Extends e Super. Exercício Prático 5 Herança. Nome:

Introdução. Extends e Super. Exercício Prático 5 Herança. Nome: Universidade Estadual da Paraíba Campus VII Gov. Antônio Mariz CCEA Centro de Ciências Exatas e Sociais Aplicadas Licenciatura em Computação Java - Noturno Exercício Prático 5 Herança Nome: Introdução

Leia mais

Interfaces POO. Prof. Marcio Delamaro

Interfaces POO. Prof. Marcio Delamaro Interfaces POO Prof. Marcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/41 O que é interface É um template de classe Outras classes podem seguir esse template Chamamos isso

Leia mais

Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

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

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2016.2 http://www.dcc.ufrj.br/~fabiom/java Revisão Classes e Objetos Classes são uma das unidades básicas de um programa Java Usamos as classes para

Leia mais

Programação Orientada a Objetos. Prof. Diemesleno Souza Carvalho

Programação Orientada a Objetos. Prof. Diemesleno Souza Carvalho Programação Orientada a Objetos Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Programação Orientada a Objetos Na aula passada, vimos: Herança Programação Orientada

Leia mais