Programação Orientada a Objetos

Documentos relacionados
Conceitos/princípios da orientação a objeto

Conceitos/princípios da orientação a objeto

Programação Orientada a Objetos

Programação Orientada a Objetos

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

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

LÓGICA PARA COMPUTAÇÃO

LÓGICA PARA COMPUTAÇÃO

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

Conceitos/princípios da orientação a objeto

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

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

INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO

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

Linguagem de Programação III

Programação Orientada a Objetos

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

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

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

Programação Orientada a Objetos

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

Programação Orientada a Objetos

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

Introdução a UML. Uma agregação em UML é representada por ligando os retângulos que representam as classes envolvidas. Casa -cor -tamanho

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

PROGRAMAÇÃO ORIENTADA A OBJETOS: Conceitos Iniciais

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

INTRODUÇÃO A POO. Programação Orientada a Objetos Flávio de Oliveira Silva 6. PROCEDIMENTAL (Algorítmica)

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

Apresentação da Disciplina e Revisão dos Conceitos de Orientação a Objetos

Introdução a UML. Uma associação em UML é representada por uma linha ligando os retângulos que representam as classes envolvidas.

Programação para Games II. Professor Ariel da Silva Dias Orientação a Objetos

Conceitos de Programação Orientada a Objetos

POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos

Conceitos/princípios da orientação a objeto

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

Programação Orientada a Objetos JAVA - NETBEANS

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

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

Plano de Trabalho Docente Ensino Técnico

Introdução à Orientação a Objetos

SISTEMA DE INFORMAÇÃO Modelo Conceitual. Prof. Luiz Fernando Laguardia Campos FMS

Programação Orientada a Objetos

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

UML Diagrama de Classes

ACH2002. Orientação a Objetos

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

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

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

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

ORIENTAÇÃO A OBJETOS Histórico:

Modelagem de Classes. Mestrado em Engenharia de Produção e Sistemas Computacionais. Profa. Adriana Pereira de Medeiros

Orientação a Objetos (OO)

Conceitos de Programação Orientada a Objetos

Introdução à Modelagem Conceitual 1. Conceitos Básicos

Análise de Sistemas AULA 05 BCC Noturno - EMA908915A

Laboratório de programação II

Interfaces e Classes Abstratas

O PARADIGMA ORIENTADO POR OBJETOS

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

Orientação a Objetos parte 2 ENCAPSULAMENTO, CLASSES, HERANÇAS

15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo

INF1012 MODELAGEM DE DADOS

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

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

Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça. Prática 02 Herança

Prof: Ricardo Quintão Site:

Unidade: sobrecarga, construtores e herança

2. Classes, Objectos, Herança e Polimorfismo

2. Classes, Objectos, Herança e Polimorfismo

Polimorfismo. O que é polimorfismo?

Desenvolvimento Web II

Modelo Conceitual. Análise e Projeto de Sistemas Avançados. Aula 5. Allan Rodrigo Leite

Programação Orientada a Objetos

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

Modelagem Orientada a Objeto

COMPORTAMENTOS - Observações

Fundamentos de Programação

DISCIPLINA: Programação de Computadores II

Conceitos de Linguagens de Programação - Características. Paavo Soeiro

AVALIAÇÃO UNIFICADA 2015/2 SISTEMAS DE INFORMAÇÃO/4º PERÍODO NÚCLEO I CADERNO DE QUESTÕES

Banco de Dados Modelagem Conceitual de Dados. Prof. Edjandir Corrêa Costa

Questões Comentadas APOO, OO, Coesão e Acoplamento

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

Programação Orientada a Objetos Relacionamentos entre classes

semana 03/05/2014 a 09/05/2014 semana 10/05/2014 a 16/05/2014 semana 17/05/2014 a 23/05/ e 25/05/2014

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

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

Classes e Objetos. Sintaxe de classe em Java

UML. Diagrama de Classe

Conceitos. Conceitos Básicos do Paradigma de Orientação a Objetos. Conceitos: Objeto. duas pessoas (objetos) o comportamento desta pessoa

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

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

Linguagem de Programação III

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

Revisão Diagrama de classes Elementos do diagrama de classes Exemplo: Sistema de matrícula

Linguagem de Programação IV Introdução

Transcrição:

Programação Orientada a Objetos Engenharia da Computação Professor: Rosalvo Ferreira de Oliveira Neto

Dados Pessoais Rosalvo Ferreira de Oliveira Neto MSc. em ciência da computação (UFPE) rosalvo.oliveira@univasf.edu.br www.univasf.edu.br/~rosalvo.oliveira Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto 3

Tópicos Tipos de mensagem Herança Simples Herança Múltipla Polimorfismo Sobrecarga Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

Tipos de mensagem Mensagem informativa -> fornece informações para que o objeto-alvo atualize seu estado; Mensagem interrogativa -> solicita informações a respeito do estado do objeto-alvo; Mensagem imperativa -> solicita que o objeto-alvo Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

Tipos de mensagem Voltando ao exemplo do SIGA. Para classe professor, quais são os tipos de mensagem? Alterar nome Consultar nome Consultar área de conhecimento Registrar notas Consultar matrícula SIAPE Alterar área de conhecimento Registrar faltas Alterar titulação Consultar titulação Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

Tipos de mensagem Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

Tipos de mensagem Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

Tipos de mensagem Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

Percebemos que? A classe coordenador possui todos os atributos e métodos da classe professor. Sendo assim, o que podemos fazer? Replicar o código da classe professor, ajustar a cópia e renomeá-la. Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

Como resolver o problema? Podemos idealizar um mecanismo que permita que a classe coordenador se utilize da estrutura da classe professor. Este dispositivo existe e é denominado herança. Neste processo a classe professor é denominada superclasse e a classe coordenador subclasse Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

Para facilitar a visualização do mecanismo da herança analisaremos algumas mensagens: Sr_Burns.alterar_titulação(nova_titulação;) Raimundo.concultar_matrícula_SIAPE(;matricula) Sr_Burns.fechar_semestre_letivo(semestre;ok) Raimundo.fechar_semestre_letivo(semestre;ok) Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

A herança nos possibilita observar uma diferença sutil entre objeto e instância. Você consegue visualizá-la? Embora até agora tenhamos usado objeto e instância quase como sinônimos, vemos que a herança de uma certa forma permite que um único objeto seja simultaneamente uma instância de mais de uma classe. [7] Em nosso exemplo, Sr. Burns é uma instância de coordenador e também é uma instância de professor. Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

Com base no que estudamos percebemos que uma subclasse possui apenas uma superclasse direta. Contudo, uma análise do mundo real nos remete a perceber que em alguns sistemas temos a necessidade de uma subclasse com mais de uma superclasse. Observe o seguinte exemplo: - Em um determinado sistema temos uma classe automóvel; - e uma classe veículo-de-passageiros; - ao percebemos que existe a necessidade de criarmos a classe ônibus; - sabemos que um ônibus é um automóvel; - e que também é um veículo-de-passageiros. Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

Um aluno atento deve ter se perguntado sobre a possibilidade de um método de uma superclasse não possuir a implementação adequada para ser aplicado em uma subclasse desta superclasse. Neste caso o que deve ser feito? O método em questão deve ser reimplementado na subclasse. Isso significa que passaríamos a ter um método implementado de múltiplas formas, ou seja, um método polimórfico. Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

Um objeto da classe turma possui objetos da classe aluno? Desta forma, obtemos a seguinte definição: A agregação permite a construção de uma classe agregada a partir de outras classes componentes. Ou seja, podemos dizer que um objeto da classe agregada (Todo) tem objetos da classe componente (Parte). Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

Univasf Engenharia de Computação Programação Orientada a Objetos- Prof.: Rosalvo Neto

Dúvidas