Laboratório de programação II

Documentos relacionados
Programação Orientada a Objetos em Python

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

Programação Orientada a Objetos

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

Programação Orientada a Objetos

Programação Orientada a Objetos

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

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

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO

Requisitos de sistemas

Programação Orientada a Objetos

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

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

Informática. Professor: Diego Oliveira. Conteúdo 04: Orientação a Objetos

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

27) Em relação aos Projetos de Sistemas de Software, assinale a sequência correta de desenvolvimento de um sistema:

Introdução à Programação Orientada a Objetos. Programação Estruturada vs Programação Orientada a Objetos

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

Introdução à Orientação a Objetos. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

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

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

Laboratório de programação II

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

Conceitos de Programação Orientada a Objetos

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

Orientação a Objetos. Cleidson Souza - Departamento de Informática Universidade Federal do Pará 1 Informática - UFP

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

COMPORTAMENTOS - Observações

Programação Orientada a Objetos

Modelagem de Sistemas. Análise de Requisitos. Modelagem

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

Polimorfismo. O que é polimorfismo?

Orientação a Objetos (OO)

Programação Orientada a Objetos JAVA - NETBEANS

Linguagens de Programação Aula 12

Aula II Orientação a Objetos. Pedro Baesse Alves Pereira

Linguagem de Programação. Diagrama de classes

MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)

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

Conceitos de Orientação a Objetos

O PARADIGMA ORIENTADO POR OBJETOS

POO Fundamentos Parte III. Professor Vicente Paulo de Camargo

Introdução a Orientação a Objetos e UML

PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO (PSI) 11ºANO

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

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

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

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

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

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Introdução à Orientação a Objetos

Introdução à Orientação a Objetos e UML

Programação em Comunicações. Programação Orientada por Objectos. Ademar Aguiar.

INTRODUÇÃO À ORIENTAÇÃO A OBJETOS E UML

Conceitos de Programação Orientada a Objetos

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação

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

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

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

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

Aula 1 Introdução à Orientação a Objetos (OO) e UML

BANCO DE DADOS I. Prof. Luiz Antônio Vivacqua C. Meyer

Daniel Wildt

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

9 Classes Abstractas e Interfaces

Capítulo 2. Orientação a Objetos

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

Programação orientada a objetos

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

Análise de Sistemas 3º Bimestre (material 2)

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

Como Modelar com UML 2

JAVA. Professor: Bruno Toledo

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

Transcrição:

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 de um programa implica em Entendimento do problema Definição de um modelo de resolução Formas comuns de elaboração de um modelo de resolução Programação estrutural Fácil de codificar, mas a organização do código fica prejudicada Explora 3 estrutura básica: sequência, decisäo e iteração Programação orientado a Explora o conceito de camadas, a partir da interação entre elementos básicos chamados

Contextualização Programação estruturada vs Programação OO

Definição Paradigma para o desenvolvimento de software Basea-se na utilização de componentes individuais () Objetos colaboram para a construção de um Sistema completo Colaboração feita por troca de mensagens Encapsulamento Herança Polimorfismo

Etapas envolvidas no desenvolvimento orientado a Análise orientada a Projeto orientado a Programação orientada a

Etapas envolvidas no desenvolvimento orientado a Análise orientada a Processo de construção de modelos de domínio do problema Processo pelo qual se identifica e especifica um conjunto de Processo no qual a interação entre os é definido Projeto orientado a Programação orientada a

Etapas envolvidas no desenvolvimento orientado a Análise orientada a Projeto orientado a Processo de geração de especificação detalhada Programação orientada a

Etapas envolvidas no desenvolvimento orientado a Análise orientada a Projeto orientado a Programação orientada a Explora os conceitos de classes,, herança, etc

Paradigma baseado em pilares Entidades Herança Polimorfismo

Paradigma baseado em pilares Entidades Algo que tenha suas características e funções no mundo real Em programação a, nos referimos a entidades como Um objeto consiste em um conjunto de operações encapsuladas e um estado que grava e recupera os efeitos destas operações Operações encampsuladas são definidas por métodos Estado é mantido por atributos de um objeto Classe define as características de coleção de um objeto Descrevem métodos e atributos de pertencentes a classe Cada objeto é um encapsulamento de seu estado interno,

Paradigma baseado em pilares Entidades Herança Permite a definição de hierarquia de classes Um subclasse pode herdar a definição de componentes de uma classe pai Entende-se componentes por métodos, atributos Polimorfismo

Paradigma baseado em pilares Entidades Herança Tipos (De atributo e método) A classe que herda é chamada de subclasse. A classe que definiu o comportamento é chamada de superclasse Polimorfismo

Paradigma baseado em pilares Entidades Herança Tipos (De relacionamento) Polimorfismo

generalização especialização Paradigma de orientação a Paradigma baseado em pilares Entidades Herança Facilita o reuso Não há limite na hierarquização Polimorfismo

Paradigma baseado em pilares Entidades Herança Pode ter mais de uma superclasse Polimorfismo

Paradigma baseado em pilares Entidades Herança Polimorfismo Propriedade que permite o envio de uma mensagem para n entidades Cada entidade trata a mensagem da forma mais apropriada

Paradigma baseado em pilares Entidades Herança Polimorfismo Polimorfismo de inclusão Objetos de uma subclasse podem ser utilizados em uma superclasse 1. /* Código polimórfico */ 2. void main( ) { 3. Elipse e; 4. Circulo c; 5. imprimir(e); 6. imprimir(c); 7. } 8. void imprimir(elipse eli) {... }

Paradigma baseado em pilares Entidades Herança Polimorfismo Polimorfismo paramétrico (templates) A partir da definição de uma função, permite trabalhar genericamente 1. /* Definição da Classe */ 2. template class pilha <Tipo T> { 3. /* Estrutura de dados... */ 4. void empilhar( T ); 5. T desempilhar( ); 6. } 7. /* Utilização no cód. Cliente */ 8. pilha<int> pilhaint; 9. pilha<float> pilhafloat;

Vantagens do emprego de OO Facilita a organização do código Facilita o reuso de código Modelos permite maior proximidade com o mundo real Dados descritos de maneira mais precisa Mais fácil de entender e manter Pequenas mudanças de restrições ou requisites Tratadas de forma menos drástica quando comparada a

Exemplo de linguagens que empregam OO Java C# C++ Python Object pascal (Delphi) Objective C VB.net Ruby

Exemplo de codificação c++