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

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

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

Transcrição

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

2 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 tem encapsulado no seu interior um conjunto de características chamadas de atributos da classe

3 Introdução Sobre os atributos de uma classe é possível realizar um conjunto de operações chamadas de métodos Métodos Atributos

4 Introdução Quando eu crio uma variável do tipo de uma classe eu estou criando uma instância daquela classe É o mesmo que dizer que eu criei um objeto do tipo daquela classe Como o próprio nome diz, a classe classifica um conjunto de objetos com propriedades Ex: a classe das pessoas, que possui as propriedade: peso, altura, idade

5 Introdução CLASSE Pessoa ATRIBUTOS peso: Real; altura: Real; idade: Inteiro; METODOS andar(passos:inteiro): vazio falar(frase:string):vazio pular(metros:real):vazio Fim_Classe_Pessoa

6 Introdução Através da classe Pessoa é possível definir todas as pessoas do mundo

7 Revisão - Herança Em orientação a objetos esse conceito define a habilidade uma nova classe adquirir as propriedade de uma classe que já existia Desde modo, a nova classe herda os atributos e métodos da classe ancestral Por exemplo, sendo o aluno uma pessoa, nós podemos determinar que uma nova classe chamada aluno, que herda de Pessoa todas as suas propriedades

8 Revisão - Herança Ex 2: Pessoa + nome: String + matricula: int + idade: int + altura: float Aluno + nome: String + matricula: String + nota1: float + nota2: float Professor + nome: String + matricula: String + turmas: int + Aluno( ): + Professor( ):

9 Polimorfismo Formalmente polimorfismo quer dizer várias formas. Em OO, denota uma situação na qual um objeto pode se comportar de maneiras diferentes ao receber uma mensagem O poliformismo é alcançado com auxílio do uso de herança nas classes e a reescrita (overriding) de métodos das superclasses nas suas subclasses

10 Polimorfismo Superclasse define uma classe pai (ancestral), uma classe de quem se herda Já subclasse define o conjunto de classes que herdam de uma superclasse Duas subclasses de uma mesma classe podem ter implementações completamente diferentes de um mesmo método, daí surge o polimorfismo

11 Polimorfismo Exemplo 3: Podemos imaginar um programa que faça a impressão de um relatório, por meio de uma classe chamada Impressora Uma impressora a laser tem um mecanismo de impressão totalmente diferente de uma impressora a jato de tinta, mas isso não importa para o programa Ele manda uma simples mensagem de imprimir para a impressora, e o modo como a impressora imprime no papel varia de acordo com o tipo de impressora usada

12 Polimorfismo Diagrama de classes Relatório Impressora + atr1: String + atr2: int Laser + nome: String Jato de Tinta + Aluno( ): + Professor( ):

13 Polimorfismo por Overriding O overriding (sobreposição) ocorre quando um método de uma superclasse é sobrescrito por um método de mesmo nome de uma subclasse O método na subclasse tem o mesmo nome, assinatura e parâmetros Na compilação, o método da subclasse irá sobrepor o método da superclasse

14 Polimorfismo por Overriding Exemplo:

15 Polimorfismo por Overloading O overloading (sobrecarregamento) ocorre quando mais de um método com o mesmo nome é implementado Overloading pode se dar apenas pela diferenciação dos argumentos do método Durante a compilação, o Java irá determinar qual dos métodos será chamado Isso depende do escopo de sua chamada

16 Polimorfismo por Overloading Exemplo:

17 Palavras de Polimorfismo A palavra this permite separar explicitamente atributos de parâmetros de um método Mas ela também permite separar métodos sobrecarregados dos não sobrecarregados Quando aplicamos this a um método explicitamente definimos que o método chamado é o da subclasse

18 Palavras de Polimorfismo Ex: class Pessoa{ String nome; int passos; int idade; public int andar(){ passos =10; } }

19 Palavras de Polimorfismo Ex: class Aluno{ String nome; int passos; int idade; public int andar(){ passos =20; return passos } public static void main(string args[ ]){ this.andar(); } }

20 Palavras de Polimorfismo No caminho contrario, a palavra super ao ser aplicada a um metodo define que o metodo chamado é o da superclasse Ex: public static void main(string args[ ]){ } super.andar();

21

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

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

Universidade da Beira Interior Cursos: Engenharia Informática, Matemática /Informática e Ensino da Informática

Universidade da Beira Interior Cursos: Engenharia Informática, Matemática /Informática e Ensino da Informática 6 Polimorfismo Sobrecarga (overloading) de métodos: public class x { public void m1( ) {... sobrecarga do método m1 public void m1 ( int p ) {... Diz-se que o nome de um método foi sobrecarregado ( overloaded

Leia 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

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

Conceitos de Orientação a Objetos

Conceitos de Orientação a Objetos Conceitos de Orientação a Objetos I. Histórico A orientação a objetos (OO) foi concebida na década de 70. Origem na linguagem SIMULA-67 (década de 60 - Noruega), que já implementava alguns conceitos da

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

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

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

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

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

Conceitos Básicos da Programação OO

Conceitos Básicos da Programação OO Conceitos Básicos da Programação OO Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Objetivos Aprender os

Leia 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

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

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

Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga

Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga Professora Sheila Cáceres Sobrecarga (overloading) Na mesma classe podemos definir vários métodos com o mesmo nome Sobrecarga O tipo

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

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

Sobreposição de Métodos

Sobreposição de Métodos Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Programação Orientada a Objeto - Márcio Bueno 2 Contextualizando

Leia mais

Introdução à orientação a objetos. João Tito Almeida Vianna 18/05/2013

Introdução à orientação a objetos. João Tito Almeida Vianna 18/05/2013 Introdução à orientação a objetos João Tito Almeida Vianna 18/05/2013 Roteiro Aula 1 Introdução: Programação estruturada x Orientação a objetos Orientação a objetos Classe e objeto Encapsulamento Herança

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

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

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

Orientação a Objetos Parte I. Introdução a POO (Programação Orientada a Objetos)

Orientação a Objetos Parte I. Introdução a POO (Programação Orientada a Objetos) Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos) Histórico Gerações de Linguagens de Programação Primeira Geração: Linguagem de máquina Segunda Geração: Linguagem de montagem

Leia mais

Tema da aula Introdução ao paradigma de programação: Orientado a Objetos

Tema da aula Introdução ao paradigma de programação: Orientado a Objetos Profa. Juliana Santiago Teixeira Disciplina: Programação Orientada a Objetos I Tema da aula Introdução ao paradigma de programação: Orientado a Objetos Paradigma Paradigma é a filosofia adotada na construção

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

Laboratório de programação II

Laboratório de programação II Laboratório de programação II Paradigma de orientação a Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Contextualização Paradigma de orientação a Contextualização A construção

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

PCS3111. Laboratório de Programação Orientada a Objetos para Engenharia Elétrica. Aula 6: Polimorfismo

PCS3111. Laboratório de Programação Orientada a Objetos para Engenharia Elétrica. Aula 6: Polimorfismo PCS3111 Laboratório de Programação Orientada a Objetos para Engenharia Elétrica Aula 6: Polimorfismo Escola Politécnica da Universidade de São Paulo Conceito de polimorfismo 2 Polimorfismo A palavra vem

Leia mais

Classes e Objetos em Java. Algoritmos e Programação I. Classes. Classes. Modificadores de Acesso. Classes. Revisão

Classes e Objetos em Java. Algoritmos e Programação I. Classes. Classes. Modificadores de Acesso. Classes. Revisão e Objetos em Java Algoritmos e Programação I Aula 9 Profa. Márcia Cristina Moraes mmoraes@inf.pucrs.br Profa. Sílvia M. W. Moraes silvia@inf.pucrs.br Prof. Marcelo H. Yamaguti yamaguti@inf.pucrs.br Prof.

Leia mais

Aula 2 Princípios Básicos da Orientação a Objetos (Parte II)

Aula 2 Princípios Básicos da Orientação a Objetos (Parte II) Aula 2 Princípios Básicos da Orientação a Objetos (Parte II) Introdução à Programação Orientada a Objetos Prof. Mayk Choji UniSALESIANO Araçatuba 12 de agosto de 2016 Sumário 1. Métodos 2. Mensagens 3.

Leia mais

Introdução. Programação Orientada a Objetos (POO) João Paulo Q. dos Santos

Introdução. Programação Orientada a Objetos (POO) João Paulo Q. dos Santos Introdução Programação Orientada a Objetos (POO) João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Avaliações Continuada: Resolução de Atividades Práticas em Sala; Resolução de Lista de Exercícios; Provas

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

Programação Orientada a Objetos em Java

Programação Orientada a Objetos em Java Programação Orientada a Objetos em Java Conceitos: Classe, Variável de Instância ou Atributos, Métodos, Objeto, Variáveis Estáticas ou de Classe, Construtores, Construtores Sobrecarregados, Herança, Polimorfismo,

Leia 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

Polimorfismo: aprendendo a prever o futuro. Polimorfismo: aprendendo a prever o futuro. Definições (2/5) Definições Tipos de Polimorfismo

Polimorfismo: aprendendo a prever o futuro. Polimorfismo: aprendendo a prever o futuro. Definições (2/5) Definições Tipos de Polimorfismo Polimorfismo: aprendendo a prever o futuro BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos Sumário Definições Tipos de Polimorfismo Dicas para o Polimorfismo Eficaz Armadilhas

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

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

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

Orientação a Objetos e Java

Orientação a Objetos e Java Orientação a Objetos e Java Daves Martins davesmartins@yahoo.com.br Mestre em Computação de Alto Desempenho pela UFRJ Especialista em Banco de Dados Analista Web Orientação a Objetos e Java Características

Leia mais

Orientação a Objetos (OO) LPG II - Java. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental

Orientação a Objetos (OO) LPG II - Java. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental Orientação a Objetos (OO) LPG II - Java Orientação a Objetos (OO) Roberto Vedoato vedoato@joinville.udesc.br Programação Procedimental x Orientada a Objetos Objetivos e Benefícios da Orientação a Objetos

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

Programação Orientada a Objetos Programação Orientada a Objetos luno: ata: Professor: Leonardo abral da Rocha Soares 1. Torna o atributo visível a todas as classes do pacote onde foi declarado: a) public b) private c) protected d) package

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

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos. AULA 02 OBJETIVO: Características da Linguagem Orientada a Objetos. HABILIDADES TRABALHADAS: Comparação das características das linguagens orientadas a objetos frente às linguagens estruturadas. Conhecimentos

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

Vetores Unimensionais

Vetores Unimensionais Vetores Unimensionais Objetivos Entender a importância e a necessidade do uso de Vetores Definição de Manipulação de Vetores Inserir elementos em um vetor (usando laços ou não) Imprimir elementos de um

Leia mais

Introdução a Programação Orientada a Objetos

Introdução a Programação Orientada a Objetos Introdução a Programação Orientada a Objetos Fernando de Simas, Airton de Souza, Sérgio Roberto Centro de Ciências Tecnológicas da Terra e do Mar Universidade do Vale do Itajaí UNIVALI. 88302-202 Itajaí

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

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

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 4 Tipos Enumerados Generalização e Herança Visibilidade Chamada de Construtores

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

Métodos e Procedimentos. Prof. Jesus José de Oliveira Neto

Métodos e Procedimentos. Prof. Jesus José de Oliveira Neto Métodos e Procedimentos Prof. Jesus José de Oliveira Neto Procedimentos são estruturas que agrupam um conjunto de comandos, que são executados quando o procedimento é chamado. Métodos são procedimentos

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

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

Herança e Polimorfismo - Parte II -

Herança e Polimorfismo - Parte II - Herança e Polimorfismo - Parte II - Programação Orientada a Objetos Java Prof. Geraldo Braz Junior A hierarquia do exemplo DoME 2 Saída incompleta O que queremos CD: A Swingin' Affair (64 mins)* Frank

Leia 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

Programação Orientada a Objetos. Prof. MsC Sílvio Bacalá Júnior

Programação Orientada a Objetos. Prof. MsC Sílvio Bacalá Júnior Programação Orientada a Objetos Prof. MsC Sílvio Bacalá Júnior Princípios básicos de OO Abstração Encapsulamento Modularidade Herança 2013 POO - Bacalá 2 Abstração Concentração nas características essenciais,

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

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

Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental

Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de Orientação a Objetos (OO) Roberto Vedoato vedoato@joinville.udesc.br Programação Procedimental x Orientada a Objetos Objetivos e Benefícios

Leia mais

Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN

Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores Prof.: Bruno E. G. Gomes IFRN 1 Introdução Na aula de hoje: Declaração de classes Métodos Construtores Exercícios de criação

Leia mais

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Prof. Dr. Daniel Caetano 2014-1 DISCUSSÃO Visão Geral dos Paradigmas Quais os paradigmas mais comuns? Do que é composto um programa

Leia mais

Entender o princípio do Polimorfismo; Conhecer Polimorfismo de Sobreposição e de Inclusão;

Entender o princípio do Polimorfismo; Conhecer Polimorfismo de Sobreposição e de Inclusão; POLIMORFISMO POLIMORFISMO É o último princípio que serve de base para a Programação Orientada a Objeto. Esse princípio também aposta na ideia da reutilização para facilitar o dia a dia da programação.

Leia mais

Programação com Objectos Teste Teórico 18 de Dezembro de 2008, 19:00 (120 minutos)

Programação com Objectos Teste Teórico 18 de Dezembro de 2008, 19:00 (120 minutos) 1/11 LEIC-A LEIC-T LERC MEIC-A 2008/2009 (1º Semestre) Teste Teórico 18 de Dezembro de 2008, 19:00 (120 minutos) Nome: Primeira Parte (5 valores) PERGUNTA RESPOSTA 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10

Leia mais

Universidade Estadual de Santa Cruz

Universidade Estadual de Santa Cruz Universidade Estadual de Santa Cruz Departamento de Ciências Exatas e Tecnológicas DCET Bacharelado em Ciência da Computação Professor: Esbel Tomás Valero Orellana Linguagem de Programação III Introdução

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

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

Programação com Objectos. Processamento de Dados I. 2. Classes, Atributos e Métodos

Programação com Objectos. Processamento de Dados I. 2. Classes, Atributos e Métodos Programação com Objectos Processamento de Dados I 2. Classes, Atributos e Métodos 1 Classes, Atributos e Métodos Modificadores de acesso (visibilidade) Sobrecarga de métodos (method overloading) Variáveis

Leia mais

Capítulo 2. Orientação a Objetos

Capítulo 2. Orientação a Objetos Capítulo 2 Orientação a Objetos Princípios da Orientação a Objetos Os princípios da orientação a objetos afetam todo o processo de desenvolvimento de software: Seres humanos pensam em termos de substantivos

Leia mais

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real: Introdução a Orientação a Objetos com Java Autor: Professor Victor Augusto Zago Menegusso. Orientação a Objetos É um paradigma de programação que define a estrutura de um programa baseado nos conceitos

Leia mais

Conceitos de Programação Orientada a Objetos

Conceitos de Programação Orientada a Objetos Conceitos de Programação Orientada a Objetos Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 02 Conceitos de Programação Orientada a Objetos 1 Conceitos Fundamentais Classe; Ocultamento de informação;

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

OO - Orientação a Objetos

OO - Orientação a Objetos OO - Orientação a Objetos 1 Motivação p Orientação a objetos é uma maneira de programar que ajuda na organização e resolve muitos problemas enfrentados pela programação procedural; p Imaginem em um grande

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

Linguagem de programação métodos/funções

Linguagem de programação métodos/funções Instituto Federal de Minas Gerais Campus Ponte Nova Linguagem de programação métodos/funções Professor: Saulo Henrique Cabral Silva MÉTODOS / MODULARIZANDO Modularizando... 2 Métodos Funções Sub-rotinas

Leia mais

Introdução. Atributos em Java. Atributos. Acesso à atributos em Java. Atributo versus variável. Atributos, métodos e encapsulamento.

Introdução. Atributos em Java. Atributos. Acesso à atributos em Java. Atributo versus variável. Atributos, métodos e encapsulamento. Introdução Atributos, métodos e encapsulamento joao@ecomp.uefs.br Atributos Ipos de acesso: private, public, protected e default Encapsulamento Métodos Construtores Criando objetos Departamento de Ciências

Leia mais

TIC - Programação Visual

TIC - Programação Visual Polimorfismo Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 09 Polimorfismo 1 Verificação de Tipos: Tipos Atividade que garante que os operandos utilizados com um operador sejam de tipos compatíveis;

Leia mais

Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos

Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II Classes e Objetos Objetos Um conjunto de estados e comportamentos Classes Um modelo para a criação de objetos 1 Pacotes e Java API Pacotes Um conjunto

Leia 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

Declaração de Construtores em Java

Declaração de Construtores em Java Programando com Java Artigo http://mballem.wordpress.com/ Declaração de Construtores em Java Para que serve e como usar um Construtor em Java Autor Marcio Ballem: é formado em Sistemas de Informação e

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

Dados armazenados em um objeto podem ser tanto primitivos, tais como inteiros ou caracteres, ou referências para outros objetos.

Dados armazenados em um objeto podem ser tanto primitivos, tais como inteiros ou caracteres, ou referências para outros objetos. 2. Classes e Objetos Uma classe é um modelo que define os atributos e métodos comuns a um conjunto de objetos de forma encapsulada. Atributos são informações ou dados que descrevem, categorizam ou quantificam

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

Herança e Classes Abstratas. João Paulo Q. dos Santos

Herança e Classes Abstratas. João Paulo Q. dos Santos Herança e Classes Abstratas João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro Conceitos sobre Herança; Sobrescrita(sobreposição) de métodos; Herança e construtores; Conceitos sobre classes abstratas;

Leia mais

Orientação a Objetos Básica

Orientação a Objetos Básica Orientação a Objetos Básica 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/ 1 Objetivos

Leia mais

LEIC-A / MEIC-A 2007/2008 (1º

LEIC-A / MEIC-A 2007/2008 (1º 1/11 LEIC-A / MEIC-A 2007/2008 (1º Semestre) Teste (versão A) 08 de Janeiro de 2008, 09:00 (120 minutos) Nome: Primeira Parte (5 valores) PERGUNTA RESPOSTA 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 Segunda

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

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

Programação Java. Linguagem de Programação Java

Programação Java. Linguagem de Programação Java Programação Java Linguagem de Programação Java Linguagem de Programação Java Sumário Classes e Objetos Atributos e Métodos Construtor e Destrutor Ricardo Sant'Ana Programação Java Slide 2 Classes e Objetos

Leia mais

Aprendendo. Java 2. Rodrigo Mello Ramon Chiara Renato Villela. Novatec Editora Ltda.

Aprendendo. Java 2. Rodrigo Mello Ramon Chiara Renato Villela. Novatec Editora Ltda. Aprendendo Java 2 Rodrigo Mello Ramon Chiara Renato Villela Novatec Editora Ltda. www.novateceditora.com.br 1 Programação Orientada a Objetos O que é Programação Orientada a Objetos? É um paradigma de

Leia mais

Herança e Polimorfismo -Parte II -

Herança e Polimorfismo -Parte II - Herança e Polimorfismo -Parte II - Mário Meireles Teixeira mario@deinf.ufma.br A hierarquia do exemplo DoME 2 1 Saída incompleta O que queremos CD: A Swingin' Affair (64 mins)* Frank Sinatra tracks: 16

Leia mais

12/03/16. Generalização. Associação. Agregação UML Relações. entre Classes. Composição. Prof.Dr. Enzo Seraphim. Dependência

12/03/16. Generalização. Associação. Agregação UML Relações. entre Classes. Composição. Prof.Dr. Enzo Seraphim. Dependência 12/03/16 Generalização Associação Agregação UML Relações Composição entre Classes Dependência Prof.Dr. Enzo Seraphim 12/03/16 Generalização Associação Agregação UML Relações Composição entre Classes Dependência

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

Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção.

Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. 6 Exceções Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. Uma exceção é um erro recuperável - O controlo da execução do programa

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

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

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Parte IV Introdução à Programação em C++ (Continuação) Relembrando da Última Aula... Polimorfismo Mais exemplos

Leia mais