Programação Orientada a Objetos JAVA - NETBEANS

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

POLIMORFISMO. Entender o princípio do Polimorfismo; Saber quais são os tipos existentes de Polimorfismo; Conhecer Polimorfismo de Sobrecarga.

Programação Orientada a Objetos JAVA - NETBEANS

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

Linguagem de Programação III

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

Linguagens de Programação Aula 12

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

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

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

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

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

Sobrecarga, Sobreposição e Polimorfismo

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

POO29004 Programação Orientada a Objetos

Linguagem de Programação I Apresentação da Disciplina

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

Aula 4 Encapsulamento e Relacionamento Cleverton Hentz

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

Aula 9 POO 1 Polimorfismo. Profa. Elaine Faria UFU

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos

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

Classes e Objetos. Sintaxe de classe em Java

POO29004 Programação Orientada a Objetos

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

Linguagem de Programação III

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO

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

Java - Herança e Interface

POO29004 Programação Orientada a Objetos

1 Introdução e Conceitos básicos

Orientação a objetos. Objetos ou Instâncias I

Programação Orientada a Objetos

Programação Orientada a Objetos

Programação Orientada a Objeto (POO)

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

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

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

Conceitos de Programação Orientada a Objetos

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

Classe Abstrata e Interface

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS Disciplina: Programação Orientada a Objetos

Aula 15 Modelagem de Classes de Análise. Análise de Sistemas Prof. Filipe Arantes Fernandes

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

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

9 Classes Abstractas e Interfaces

O PARADIGMA ORIENTADO POR OBJETOS

Herança e Polimorfismo

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

Orientação a Objetos Classes Abstratas

Interfaces e Classes Abstratas

LINGUAGEM DE PROGRAMAÇÃO

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

Programação Orientada a Objetos

Princípios de Análise e Projeto Orientados a Objetos com UML

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

Conceitos de Programação Orientada a Objetos

UNIVERSIDADE PAULISTA - UNIP ICET INSTITUTO DE CIÊNCIAS EXATAS E TECNOLÓGIA

Notas de Aula 04: Herança e polimorfismo.

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

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

Sobreposição de Métodos

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

Programação Orientada a Objetos

Programação Avançada C++ Slide 12 Nielsen Castelo Damasceno

Conceitos de Programação Orientada a Objetos

Laboratório de programação II

Programação Orientada a Objetos

AULA 2 VISÃO BÁSICA DE CLASSES EM PHP

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

UNIDADE 5 Aplicação dos Conceitos de Orientação a Objetos

Paradigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto

Conceitos de Programação Orientada a Objetos

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

Modelo do Mundo Real. Abstração. Interpretação

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

CURSO PROFISSIONAL DE TÉCNICO DE GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS

Unidade 3: Classes em Java Para Programadores C Classes, Objetos e Tratamento de Erros Prof. Daniel Caetano

Programação Orientada a Objetos

LÓGICA DE PROGRAMAÇÃO (JAVA) HERANÇA. Professor Carlos Muniz

Análise e Projeto Orientados por Objetos

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

Transcrição:

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 Composição Herança Polimorfismo

O poliformismo deriva da palavra polimorfo, que significa multiforme, ou que pode variar a forma. Para a POO, polimorfismo é a habilidade de objetos de classes diferentes responderem a mesma mensagem de diferentes maneiras. Ou seja, várias formas de responder à mesma mensagem.

Vejamos o seguinte exemplo: um dono de uma fábrica de brinquedos solicitou que seus engenheiros criassem um mesmo controle remoto para todos os brinquedos de sua fábrica. A única restrição era que cada brinquedo atendesse aos comandos específicos definidos pelo controle.

Assim quando o brinquedo recebe o sinal MOVER, ele se move de acordo com a sua função. Para o avião, mover significa VOAR; Para o barco significa NAVEGAR, e Para o automóvel CORRER. Observe que os brinquedos respondem ao mesmo sinal de formas diferentes.

O Polimorfismo permite que diferentes objetos (avião, barco, automóvel) respondam uma mesma mensagem (mover) de formas diferentes (voar, navegar e correr).

Tipos de polimorfismo O Polimorfismo pode ser classificado de três maneiras: Polimorfismo de Sobrecarga Polimorfismo de Sobreposição Polimorfismo de Inclusão

Polimorfismo de Sobrecarga Permite que um método de determinado nome tenha comportamentos distintos, em função de diferentes parâmetros que ele recebe. Cada método difere no número e no tipo de parâmetros.

Veja no exemplo uma aplicação prática do uso do polimorfismo de sobrecarga.

A sobrecarga e os construtores O polimorfismo de sobrecarga normalmente acontece sobre os métodos construtores, pois é comum para uma classe ter várias maneiras de instanciá-la. O programa abaixo ilustra um exemplo de polimorfismo de sobrecarga nos construtores da classe Pessoa.

Observe que são declarados 3 construtores e todos eles têm o mesmo nome da classe. Entretanto, cada um deles recebe um número diferente de parâmetros.

Polimorfismo de Sobreposição É a redefinição de métodos em classes descendentes. Ou seja, um método de uma classe filha com o mesmo nome de um método de uma classe mãe irá sobrepor esse último. Vejamos o exemplo.

O polimorfismo de sobreposição em Java Considere que a classe Brinquedo possui como descendentes as classes Carro, Avião e Barco, conforme ilustra a Figura. Observe que as classes filhas sobrepõem o método mover() da classe Brinquedo.

Vejamos então como ficam essas classes codificadas em Java.

Considerando o método mover() de cada classe filha, como poderíamos chamar o método mover() do brinquedo (classe) correto? Ou seja, como o ControleRemoto saberá que método mover ele deve chamar se ele tem disponível três tipos de mover diferentes (um para cada brinquedo)?

Vamos ver inicialmente como fica a implementação do Controle Remoto.

O programa mostra como fica a classe Principal que instancia um objeto controleremoto e um objeto carro para ser controlado automaticamente. Foi criado um brinquedo do tipo Carro, e o ControleRemoto. Foi enviado o objeto carro para o objeto controleremoto através da chamada ao seu construtor. Assim, quando acionado o comando controleremoto.mover(), será chamado o método mover() do carro.

Atividade Implemente as classes da hierarquia da classe Figura Geometrica mostrada na Figura abaixo em Java, aplicando o polimorfismo de sobreposição para o método desenha(). Em seguida, crie uma classe Principal com um método main que cria um objeto de cada uma das classes e chama seus respectivos métodos desenha().

Polimorfismo de Inclusão No exemplo visto anteriormente, em que na classe Principal, foi criado um objeto do tipo Carro e outro do tipo ControleRemoto, utilizou-se o polimorfismo de inclusão. Isso foi feito substituindo a classe Brinquedo pela classe Carro dentro da classe ControleRemoto.

Veja a Figura.

Observe que a classe ControleRemoto está relacionada com a classe Brinquedo, pois possui um atributo do tipo Brinquedo. Mas, como as classes Carro, Avião e Barco são do tipo Brinquedo, elas podem substituir a classe Brinquedo em qualquer método que a utilize. A capacidade do objeto (brinquedo) do tipo Brinquedo da classe ControleRemoto de receber qualquer um objeto de subclasses da classe Brinquedo é que caracteriza o polimorfismo de inclusão.

Trabalho Faça um exemplo prático para apresentar os seguintes conceitos em Java. Static Interface, Implements e Abstract