POO29004 Programação Orientada a Objetos

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

Download "POO29004 Programação Orientada a Objetos"

Transcrição

1 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 19 de abril de /26

2 Exemplo: Aplicativo para desenho vetorial Representar as formas geométricas: Ponto, Círculo, Cilindro e Retângulo Todas as classes deverão ter obrigatoriamente um método desenhar, que uma vez invocado, fará com que a forma seja desenhada. 2/26

3 Exemplo: Aplicativo para desenho vetorial Representar as formas geométricas: Ponto, Círculo, Cilindro e Retângulo Todas as classes deverão ter obrigatoriamente um método desenhar, que uma vez invocado, fará com que a forma seja desenhada. 2/26

4 Exemplo: Aplicativo para desenho vetorial Representar as formas geométricas: Ponto, Círculo, Cilindro e Retângulo Todas as classes deverão ter obrigatoriamente um método desenhar, que uma vez invocado, fará com que a forma seja desenhada. Nova necessidade: Classes Triangulo e Cubo 2/26

5 Exemplo: Aplicativo para desenho vetorial Representar as formas geométricas: Ponto, Círculo, Cilindro e Retângulo Todas as classes deverão ter obrigatoriamente um método desenhar, que uma vez invocado, fará com que a forma seja desenhada. Nova necessidade: Classes Triangulo e Cubo 2/26

6 Exemplo: Aplicativo para desenho vetorial Representar as formas geométricas: Ponto, Círculo, Cilindro e Retângulo Todas as classes deverão ter obrigatoriamente um método desenhar, que uma vez invocado, fará com que a forma seja desenhada. Nova necessidade: Classes Triangulo e Cubo Como garantir que as novas classes terão obrigatoriamente o método desenhar? 2/26

7 Classe abstrata Não é possível instanciar objetos de uma classe abstrata Pode conter métodos concretos e métodos abstratos Métodos concretos possuem implementação Métodos abstratos não possuem implementação Todo método abstrato deve ser obrigatoriamente sobrescrito pelas subclasses, métodos concretos não precisam ser sobrescritos Uma subclasse que não prover implementações para os métodos abstratos herdados, deve obrigatoriamente ser abstrata 3/26

8 Exemplo: Aplicativo para desenho vetorial 4/26

9 Exemplo: Aplicativo para desenho vetorial 1 public abstract class FormaGeometrica{ 2 public abstract void desenhar(); 3 } 4 public class Ponto extends FormaGeometrica{ 5 private int x; 6 private int y; 7 9 public void desenhar(){ 10 System.out.println("Desenhando ponto: " + x +"," + y); 11 } 12 } 5/26

10 Exemplo: Classe abstrata Personagem 13 public abstract class Personagem{ 14 private int id; 15 private String nome; public Personagem(int i, String n){ 18 this.id = i; 19 this.nome = n; 20 } public String obternome(){ 23 return this.nome; 24 } public void imprimirdados(){ 27 System.out.println("Id:" + this.id + ", Nome: " + this.nome); 28 } public abstract void atacar(float intensidade); 31 } 6/26

11 Exemplo: Classe concreta Arqueiro 32 public class Arqueiro extends Personagem{ 33 private int habilidade; public Arqueiro(int i, String n, int h){ 36 super(i,n); 37 this.habilidade = h; 38 } public void imprimirdados(){ 41 super.imprimirdados(); 42 System.out.println("Habilidade: " + this.habilidade); 43 } public void atacar(float intensidade){ 47 System.out.println("Disparando flechas com a intensidade: " + intensidade); 48 } 49 } 7/26

12 Exercício 1 Crie uma classe abstrata Pessoa e duas classes concretas, Aluno e Professor, que herdam da classe Pessoa Cada classe deve ter no mínimo 2 atributos específicos e um método construtor que inicia todos atributos Classe Pessoa deverá possuir 1 método concreto e 1 método abstrato 2 Crie uma classe Principal e nesta crie uma instância para cada classe e invoque alguns de seus métodos 8/26

13 Interface Para alguns projetos de software, desenvolvido por diferentes pessoas em diferente instantes, é necessário criar contratos para que os códigos desenvolvidos por um time possam interagir com os códigos desenvolvidos pelo outro time, sem que ambos os times precisem ter conhecimento sobre o código que está escrito pelo outro 9/26

14 Interface Para alguns projetos de software, desenvolvido por diferentes pessoas em diferente instantes, é necessário criar contratos para que os códigos desenvolvidos por um time possam interagir com os códigos desenvolvidos pelo outro time, sem que ambos os times precisem ter conhecimento sobre o código que está escrito pelo outro Exemplo: Jogo de corrida Um fabricante de jogo de corrida gostaria de permitir que seu jogo fosse estendido por outras pessoas de forma que possam criar seus próprios carros. Contudo, deve-se garantir que todos os carros possuam os mesmos métodos (i.e. frear, acelerar, etc) 9/26

15 Interface Uma Interface é Java é semelhante a uma classe abstrata, porém só pode conter constantes, métodos abstratos, métodos default e métodos estáticos Por padrão todos atributos são public, static e final Uma Interface não pode ser instanciada e o principal objetivo é servir como referência para ser implementada por classes Somente métodos estáticos ou default poderão conter implementação 10/26

16 Exemplo: Interface Carro 34 public interface Carro{ 35 // ilustrando o uso de constantes em uma interface. 36 public static final String nome = "Carro"; // todo método é abstrato por padr~ao 39 public void frear(int intensidade); 40 } 11/26

17 Exemplo: Interface Carro 34 public interface Carro{ 35 // ilustrando o uso de constantes em uma interface. 36 public static final String nome = "Carro"; // todo método é abstrato por padr~ao 39 public void frear(int intensidade); 40 } 40 public class Fusca implements Carro{ 41 private String modelo; public Fusca(String m){ 44 this.modelo = m; 45 } public void frear(int intensidade){ 48 System.out.println("Encostando a lona no tambor de freio"); 49 } 50 } 11/26

18 Herança múltipla em Java Java não permite que uma classe seja derivada de mais de uma outra classe Para evitar as complicações relacionadas a herança múltipla de estados habilidade de herdar atributos de múltiplas classes O conceito de herança múltipla pode ser obtido em Java fazendo uso de Interfaces herança múltipla de tipos uma classe pode implementar mais de uma interface herança múltipla de implementação habilidade de herdar as definições de métodos de múltiplas interfaces 12/26

19 Exemplo: Herança múltipla para obtermos um Triatleta Corredor pode correr Ciclista pode pedalar Nadador pode nadar 13/26

20 Exemplo: Herança múltipla para obtermos um Triatleta Corredor pode correr Ciclista pode pedalar Nadador pode nadar Desenhe um diagrama de classes UML 1 Uma classe para representar cada atleta, sabendo que todos devem possuir um nome e um CPF Robson Caetano, Miguel Indurain e Cesar Cielo 2 Uma classe para representar um Triatleta, que pode correr, pedalar e nadar. Este também possui um nome e CPF 13/26

21 Exemplo: Herança múltipla para obtermos um Triatleta 14/26

22 Exercício: Herança múltipla com Interfaces 1 Faça um diagrama UML com classes e interfaces que permitam representar animais e suas habilidades (aquilo que são capazes de fazer) Arara, Avestruz, Baleia, Cachorro, Gato, Leão, Lobo, Macaco, Morcego, Pinguim, Ornitorrinco 2 Implemente as classes em Java e faça um aplicativo Java para instanciar alguns objetos dessas classes 15/26

23 Polimorfismo 16/26

24 Polimorfismo A palavra polimorfismo significa muitas formas Permite desenvolver e implementar sistemas que sejam facilmente extensíveis de forma que novas classes possam ser adicionadas ao sistema exigindo pouca ou nenhuma modificação nas partes gerais do sistema Novas classes devem obrigatoriamente fazer parte de uma hierarquia de classes já existente no sistema Deve-se programar pensando somente nas classes mais genéricas, não se preocupando com as classes mais específicas, haja visto que os métodos existentes na superclasse também estarão presentes nas subclasses 16/26

25 Exemplo:Java of Empires Existem três personagens: Aldeão, Arqueiro e Cavaleiro Todos compartilham algum tipo de informação e comportamento, logo, todos herdam da classe Personagem Todo personagem possui um id único no jogo e todo personagem poderá se mover pelo cenário Aldeão por 1 unidade Arqueiro por 2 unidades Cavaleiro por 10 unidades 51 Aldeao a = new Aldeao(); 52 Arqueiro b = new Arqueiro(); 53 Cavaleiro c = new Cavaleiro(); // invocando o método mover de cada objeto 56 a.mover(); 57 b.mover(); 58 c.mover(); 17/26

26 Exemplo: Jogo Java of Empires No jogo é possível instanciar até 300 personagens, sendo assim seria mais adequado fazer uso de vetores 55 Aldeao veta[] = new Aldeao[100]; 56 Arqueiro vetb[] = new Arqueiro[100]; 57 Cavaleiro vetc[] = new Cavaleiro[100]; //omitindo a criaç~ao dos objetos // invocando o método mover de cada objeto 62 for(int i = 0; i < 100; i++){ 63 veta[i].mover(); 64 vetb[i].mover(); 65 vetc[i].mover(); 66 } 18/26

27 Exemplo: Jogo Java of Empires No jogo é possível instanciar até 300 personagens, sendo assim seria mais adequado fazer uso de vetores 55 Aldeao veta[] = new Aldeao[100]; 56 Arqueiro vetb[] = new Arqueiro[100]; 57 Cavaleiro vetc[] = new Cavaleiro[100]; //omitindo a criaç~ao dos objetos // invocando o método mover de cada objeto 62 for(int i = 0; i < 100; i++){ 63 veta[i].mover(); 64 vetb[i].mover(); 65 vetc[i].mover(); 66 } E se criarmos um novo personagem Navio? Será necessário modificar o código dentro do laço de repetição 18/26

28 Exemplo: Jogo Java of Empires Com o polimorfismo é possível incluir novos personagens no jogo sem que seja preciso modificar boa parte do código Sempre programar para o geral e nunca para o específico. 67 // O vetor da superclasse pode armazenar objetos das suas subclasses 68 Personagem vetp[] = new Personagem[4]; vetp[0] = new Aldeao(); 71 vetp[1] = new Arqueiro(); 72 vetp[2] = new Cavaleiro(); 73 vetp[3] = new Navio(); // o método mover existe na superclasse. No tempo de execuç~ao s~ao invocados os métodos de cada subclasse 76 for(int i=0; i < 4; i++){ 77 vetp[i].mover(); 78 } 19/26

29 Prática No exercício anterior foram criadas as classes Pessoa, Aluno e Professor Faça uso do conceito de Polimorfismo e: Crie um vetor de Pessoas de tamanho 10 e dentro desse vetor crie 5 instâncias da classe Aluno e 5 instâncias da classe Professor Imprima os dados de todos Alunos e Professores 20/26

30 Exercício: Java of Empires 1 Implementar classes para representar Arqueiro e Cavaleiro 2 Estudar o código e propor uma solução que faça uso dos conceitos de Herança e Polimorfismo 21/26

31 Tipos genéricos em Java 22/26

32 Motivação Exemplo: classe para armazenar instâncias de qualquer classe 79 public class Caixa{ 80 private Object dado; 81 public void set(object obj){ this.dado = obj;} public Object getdado(){ return this.dado;} 84 } 85 public class Principal{ 86 public static void main(string[] args){ 87 Caixa c = new Caixa(); 88 String s = "Olá mundo"; 89 c.set(s); 90 String outra = (String) c.getdado(); // cast obrigatório 91 } 92 } 22/26

33 Motivação Exemplo: classe para armazenar instâncias de qualquer classe 97 public class Caixa{ 98 private Object dado; 99 public void set(object obj){ this.dado = obj;} public Object getdado(){ return this.dado;} 102 } 111 Caixa c = new Caixa(); 112 Pessoa p = new Pessoa("Joao"); 113 c.set(p); 114 String outra = (String) c.getdado(); // só dará erro durante a execuç~ao É mais fácil detectar bugs em tempo de compilação do que em tempo de execução. Tipos genéricos possibilita que bugs possam ser detectados já na fase de compilação 22/26

34 Tipos genéricos em Java Permite que tipos (Classes ou Interfaces) sejam passados como parâmetros durante a definição de Classes, Interfaces ou métodos Parâmetros de tipos permite reutilizar a mesma classe diante de diferentes entradas Entradas de parâmetros formais são obrigatoriamente valores 115 public void metodo(int parametro){... } objeto.metodo(123); Entradas de parâmetros de tipos são tipos Exemplo de tipos: String, Pessoa, Carro, etc. 23/26

35 Reescrevendo classe Caixa para usar tipos genéricos 118 public class Caixa<T>{ 119 private T dado; 120 public void set(t obj){ this.dado = obj;} public T getdado(){ return this.dado;} 123 } 124 public class Principal{ 125 public static void main(string[] args){ 126 Caixa<String> c = new Caixa<>(); 127 String s = "Olá mundo"; 128 c.set(s); 129 String outra = c.getdado(); // n~ao precisa do cast 130 } 131 } 24/26

36 Reescrevendo classe Caixa para usar tipos genéricos 135 public class Caixa<T>{ 136 private T dado; 137 public void set(t obj){ this.dado = obj;} public T getdado(){ return this.dado;} 140 } 149 Caixa<String> c = new Caixa<>(); 150 Pessoa p = new Pessoa("Joao"); 151 c.set(p); // erro de compilaç~ao, tipos errados 24/26

37 Parâmetro de tipo limitado É possível restringir quais tipos são aceitos Somente as classes ou interfaces da hierarquia seriam permitidas 152 public class Caixa<T extends Personagem>{ 153 private T personagem; } 156 public class Principal{ 157 public static void main(string[] args){ // ok, pois Aldeao herda de Personagem 160 Caixa<Aldeao> c = new Caixa<>(); Caixa<String> n = new Caixa<>();// erro! 163 } 164 } 25/26

38 Convenção de nomes Nomes dos parâmetros de tipos devem ser uma única letra maiúscula E para elementos T para tipos K para chaves V para valores N para números A API Collections do Java faz uso do nome E Veja mais informações na documentação oficial 26/26

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

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

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

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Herança e Polimorfismo Prof. Francisco de Assis S. Santos, Dr. São José, 2015. Herança em POO O conceito de herança torna mais rápido o desenvolvimento de softwares complexos

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

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

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

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

POO UML e Outros Conceitos. Prof. Vicente Paulo de Camargo

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

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

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

Desenvolvimento Web TCC-00.226 Turma A-1

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

Introdução ao Ambiente Java

Introdução ao Ambiente Java Introdução ao Ambiente Java Programação Orientada a Objetos Prof. Tulio Alberton Ribeiro Instituto Federal de Santa Catarina IFSC campus São José tulio.alberton@ifsc.edu.br 31 de julho de 2014 1 / 36 Desenvolvimento

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

Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc.

Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc. Orientação a Objetos Revisão Conceitos CLASSE CLASSIFICAÇÃO GENERALIZAÇÃO ESPECIALIZAÇÃO HERANÇA INTERFACES POLIMORFISMO SOBRECARGA ENCAPSULAMENTO ABSTRAÇÃO MODULARIZAÇÃO 9 CLASSE Classe é um agrupamento

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

Sobrecarga, Sobreposição e Polimorfismo

Sobrecarga, Sobreposição e Polimorfismo Sobrecarga, Sobreposição e Polimorfismo José Gustavo de Souza Paiva Sobrecarga de Métodos Numa mesma classe, dois ou mais métodos podem ter o mesmo nome Desde que tenham tipos, quantidade e/ou ordem de

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

extendsé usado para indicar herança em JAVA

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

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

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

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

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

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

Computação II - Java - Teste 1.2 Prof. Adriano Joaquim de Oliveira Cruz 2015/04/27

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

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

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

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Modificadores de Acesso: public e private Prof. Tulio Alberton Ribeiro Instituto Federal de Santa Catarina IFSC campus São José tulio.alberton@ifsc.edu.br 31 de julho de

Leia mais

Objetivos. Explorar os conceitos fundamentais acerca do uso herança na linguagem Java

Objetivos. Explorar os conceitos fundamentais acerca do uso herança na linguagem Java Objetivos Explorar os conceitos fundamentais acerca do uso herança na linguagem Java Como a herança reutiliza código, vantagens e desvantagens, o problema weak base-class, acoplamento com herança, o uso

Leia mais

Desenvolvimento OO com Java Classes abstratas e interfaces

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

Leia mais

Programação Orientada a Objetos com Java. Prof. Júlio Machado

Programação Orientada a Objetos com Java. Prof. Júlio Machado Programação Orientada a Objetos com Java Prof. Júlio Machado julio.machado@pucrs.br HERANÇA Herança Herança é uma relação de generalização/especialização entre classes A ideia central de herança é que

Leia 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

Herança e Polimorfismo

Herança e Polimorfismo Herança e Polimorfismo Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aula de hoje Princípios do paradigma OO Herança Polimorfismo Interfaces Classes Abstratas Leonardo Murta Herança e Polimorfismo 2

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

1. Por que não utilizar a notação de composição da UML para mostrar que um cachorro é composto de altura, peso, cor e data de nascimento?

1. Por que não utilizar a notação de composição da UML para mostrar que um cachorro é composto de altura, peso, cor e data de nascimento? 1. Por que não utilizar a notação de composição da UML para mostrar que um cachorro é composto de altura, peso, cor e data de nascimento? 2. Esboce um diagrama de classes para um capítulo de livro com

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

Linguagem de Programação I

Linguagem de Programação I Linguagem de Programação I Carlos Eduardo Ba6sta Centro de Informá6ca - UFPB bidu@ci.ufpb.br C++ e POO Fundamentação de Orientação a Objetos (OO) Sintaxe básica de C++ Modelagem de sistemas orientada a

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

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

TÉCNICAS DE ORIENTAÇÃO A OBJETOS

TÉCNICAS DE ORIENTAÇÃO A OBJETOS TÉCNICAS DE ORIENTAÇÃO A OBJETOS APLICAÇÃO EM: C# E JAVA Sumário INTRODUÇÃO... 4 PARADIGMAS DE PROGRAMAÇÃO... 5 PROGRAMAÇÃO PROCEDURAL... 5 PROGRAMAÇÃO ESTRUTURADA... 5 PROGRAMAÇÃO ORIENTADA A OBJETOS...

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

Auto-Referenciamento e Herança

Auto-Referenciamento e Herança Auto-Referenciamento e Herança José Gustavo de Souza Paiva Auto-Referenciamento Ao criarmos o código de uma classe, ainda não sabemos quais serão seus objetos, e por isso não há como referenciá-los Utilizando

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Introdução Alguns conceitos importantes Orientação a Objetos Alguns conceitos importantes Programação Estruturada X Programação OO Classes Objetos Construtores e Destrutores

Leia mais

Orientação a Objetos AULA 06

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

Notas de Aula 04: Herança e polimorfismo.

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

Orientação a Objetos - Herança

Orientação a Objetos - Herança Orientação a Objetos - Herança 1 Repetindo Código p Todo banco tem funcionário. A classe funcionario ficaria da seguinte forma; class Funcionario { String nome; String cpf; double salario; // métodos devem

Leia mais

Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz /05/13. Questão: Total Pontos: Gráu:

Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz /05/13. Questão: Total Pontos: Gráu: Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz - 2015/05/13 Questão: 1 2 3 4 5 6 Total Pontos: 20 15 15 10 10 30 100 Gráu: 1. Defina os termos listados a seguir: (a) (10 Pontos)

Leia 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

package heranca; class Mamifero { public int a; protected int b; int c; private int d;

package heranca; class Mamifero { public int a; protected int b; int c; private int d; class Mamifero { public int a; protected int b; int c; private int d; Mamifero(int w, int x, int y, int z) { a = w; b = x; c = y; d = z; void imprime() { System.out.println(" "); System.out.println("A

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

LEIC-T LERC MEIC-T 2011/2012 1º Semestre Programação com Objetos 2012/01/07 11h00m 3/10

LEIC-T LERC MEIC-T 2011/2012 1º Semestre Programação com Objetos 2012/01/07 11h00m 3/10 2/10 1.1. (1.5 val.) Os mecanismos de herança entre classes e de composição de objetos são, por vezes, apresentados como alternativos, face à disponibilização de funcionalidade a uma classe. Compare-os,

Leia mais

Roteiro. Introdução. Uma Introdução à Programação Orientada a Objetos e JAVA usando NetBeans. Objetos. Princípios da Orientação a Objetos

Roteiro. Introdução. Uma Introdução à Programação Orientada a Objetos e JAVA usando NetBeans. Objetos. Princípios da Orientação a Objetos Uma Introdução à Programação Orientada a Objetos e JAVA usando NetBeans Roteiro Introdução Conceitos de Oientação a Objetos A Linguagem Java NetBeans (www.netbeans.org) Fernando Vieira Paulovich paulovic@icmc.usp.br

Leia mais

Linguagem de Programação Orientada a Objeto Abstração - Encapsulamento

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

Orientação a objetos Disciplina: Linguagens de Programação. Prof. Alexandre Cassimiro Andreani

Orientação a objetos Disciplina: Linguagens de Programação. Prof. Alexandre Cassimiro Andreani Orientação a objetos Disciplina: Linguagens de Programação Prof. Alexandre Cassimiro Andreani Sumário 1 Objetivo...3 2 Origem da programação orientada a objetos...4 2.1 Exercícios...4 3 Classes e Objetos...6

Leia mais

Programação Orientada a Objetos Relacionamentos entre classes

Programação Orientada a Objetos Relacionamentos entre classes Programação Orientada a Objetos Relacionamentos entre classes Prof. Vicente Paulo de Camargo RELACIONAMENTO ENTRE CLASSES Interface agregação Dependencia composição generalização associação RELACIONAMENTO

Leia mais

Programação de Computadores II TCC Turma A-1

Programação de Computadores II TCC Turma A-1 Programação de Computadores II TCC-00.309 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/2015.1/tcc-00.309

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

Laboratório de Programação. Aula 2 Java 5COP088. Aula 2 Java Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr

Laboratório de Programação. Aula 2 Java 5COP088. Aula 2 Java Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr 5COP088 Laboratório de Programação Aula 2 Java Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr barbon@uel.br 1 Aula 2 Orientação a Objetos 1) Discussão 2) Encapsulamento 3) Herança 4) Polimorfismo 5) Sobrescrita

Leia mais

Encapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos

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

Herança - Conceitos Básicos

Herança - Conceitos Básicos UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Herança - Conceitos Básicos! 1. Introdução!! Herança é a capacidade que instâncias de uma classe filha ou Subclasse de acessar dados

Leia mais

Python Orientação a Objetos. Introdução à Programação SI2

Python Orientação a Objetos. Introdução à Programação SI2 Python Orientação a Objetos Introdução à Programação SI2 Herança Pessoa Aluno Professor Herança Animal Mamifero Ave Cachorro Gato Gavião Galinha Herança Uma classe pode herdar a definição de outra classe:

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

Iteradores. Iteradores. Isabel Harb Manssour. Roteiro. Coleções

Iteradores. Iteradores. Isabel Harb Manssour. Roteiro. Coleções Implementação de Genéricos, Iteradores Isabel Harb Manssour Porto Alegre, maio de 2006 Roteiro Implementação de Genéricos Coleções Conceito de Genérico Implementação Iteradores Conceito Utilização ForEach

Leia mais

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

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel Ambiente de Desenvolvimento Herança É um princípio da Programação Orientada a Objetos que permite que as classes compartilhem atributos e métodos

Leia mais

Curso: Técnico em Informática Integrado Disciplina: POO Carga horária: 60h Período: 2º Ano Professor: Edmilson Barbalho Campos Neto LISTA 02.

Curso: Técnico em Informática Integrado Disciplina: POO Carga horária: 60h Período: 2º Ano Professor: Edmilson Barbalho Campos Neto LISTA 02. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Campus João Câmara Avenida Antônio Severiano da Câmara / BR 406, Km 101, s/n Zona Rural. Bairro Amarelão João Câmara/RN - CEP:

Leia mais

[Linguagem de Programação 3] [Aula 01] [Gustavo Yoshio Maruyama]

[Linguagem de Programação 3] [Aula 01] [Gustavo Yoshio Maruyama] [Linguagem de Programação 3] [Aula 01] [Gustavo Yoshio Maruyama] Objetivos Revisar conceitos de Orientação a Objetos Classes Objetos Encapsulamento Herança Sobrescrita de métodos Sobrecarga de métodos

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

Atributos e Métodos Estáticos

Atributos e Métodos Estáticos Atributos e Métodos Estáticos Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Atributos Estáticos Atributos

Leia mais

Ficha Prática 10. António Nestor Ribeiro, Paulo Azevedo, Mário Martins PPIV (LESI) 2005/06

Ficha Prática 10. António Nestor Ribeiro, Paulo Azevedo, Mário Martins PPIV (LESI) 2005/06 Ficha Prática 10 António Nestor Ribeiro, Paulo Azevedo, Mário Martins {anr,pja,fmm@di.uminho.pt PPIV (LESI) 2005/06 Objectivos 1. Interfaces: declaração e utilização. 2. Interfaces como tipos de dados

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

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

Generics - Java. Fernando Santos. Programação Orientada a Objetos

Generics - Java. Fernando Santos. Programação Orientada a Objetos - Java Fernando Santos Programação Orientada a Objetos Generics é uma funcionalidade incorporada ao Java a partir da versão 5.0 Permite aos programadores escreverem métodos genéricos Os parâmetros dos

Leia mais

COMPORTAMENTOS - Observações

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

Engenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira

Engenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira Engenharia de Software Aula 10 Representação dos Conceitos de Orientação a Objetos Prof. Me. Rogério Ferreira 2 Roteiro Representação dos Conceitos OO Mensagens Navegabilidade Pacotes Encapsulamento Herança

Leia mais

Programação Orientada a Objetos para Redes de Computadores. Polimorfismo com Hierarquias de Herança. Exemplo: Hierarquia Animal

Programação Orientada a Objetos para Redes de Computadores. Polimorfismo com Hierarquias de Herança. Exemplo: Hierarquia Animal Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Polimorfismo Polimorfismo com Hierarquias de Herança

Leia mais

Curso teórico: Orientação a Objetos. Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br

Curso teórico: Orientação a Objetos. Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br Curso teórico: Orientação a Objetos Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br Objetivos Conhecer os conceitos fundamentais de orientação a objetos; Aprender a criar e utilizar

Leia mais

Orientação a Objetos. Vanessa Braganholo

Orientação a Objetos. Vanessa Braganholo Orientação a Objetos Vanessa Braganholo vanessa@ic.uff.br Paradigma estruturado } Código mais fácil de ler, mas ainda difícil para sistemas grandes devido a repetição de código } Só usa sequência, repetição

Leia mais

AULA 16 HERANÇA. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes

AULA 16 HERANÇA. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes AULA 16 HERANÇA Disciplina: Programação Orientada a Objetos Professora: Alba Lopes alba.lopes@ifrn.edu.br REPETIÇÃO DE CÓDIGO Tomemos como exemplo a classe Funcionario, que representa o funcionário de

Leia mais

PROGRAMAÇÃO I HERANÇA E POLIMORFISMO

PROGRAMAÇÃO I HERANÇA E POLIMORFISMO PROGRAMAÇÃO I HERANÇA E POLIMORFISMO Prof. Dr. Daniel Caetano 2017-1 Objetivos Compreender o conceito de herança na orientação a objetos Implementar herança para reuso de código e facilitar manutenção

Leia mais

Orientação a Objetos (OO)

Orientação a Objetos (OO) CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 04 APRESENTAÇÃO: Hoje vamos discutir os conceitos de Orientação a Objetos.

Leia mais

Orientação a Objetos. Leonardo Gresta Paulino Murta.

Orientação a Objetos. Leonardo Gresta Paulino Murta. Orientação a Objetos Leonardo Gresta Paulino Murta leomurta@ic.uff.br Paradigma procedimental Sinônimo: paradigma procedural Uso de subprogramação Agrupamento de código permiando a criação de ações complexas

Leia mais

Herança - Conceitos Básicos

Herança - Conceitos Básicos DAELN!! Herança - Conceitos Básicos 1. Introdução! Herança é a capacidade que instâncias de uma classe filha ou Subclasse de acessar dados e procedimentos ou métodos associados com uma Classe Parente ou

Leia mais

5 Reuso de Classes. Desenvolvimento OO com Java. Vítor E. Silva Souza

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

Leia mais

Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a. cada classe e cada membro da classe (dados e métodos)

Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a. cada classe e cada membro da classe (dados e métodos) Mecanismos de controlo de acesso Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a cada classe e cada membro da classe (dados e métodos) Modificadores de acesso: public protected private

Leia mais

Programação Orientada por Objetos

Programação Orientada por Objetos PPROG Paradigmas da Programação Programação Orientada por Objetos Herança de Classes Polimorfismo Classes Abstratas (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2015/16) 1/72

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Orivaldo Vieira Santana Jr. Observação: Apresentação elaborada a partir do material do Prof. Marcos Costa - IFPE Roteiro Objetivos Introdução Conceitos de Programação Orientada

Leia mais

Rafael B. Pereira (http://www.rbper.com)

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