Paradigmas de Linguagens de Programação Linguagem Orientada a Objetos 1 Augusto Sampaio e Paulo Borba Departamento de Informática Universidade Federal.

Slides:



Advertisements
Apresentações semelhantes
TIPOS ABSTRATOS DE DADOS
Advertisements

Paulo Marques Hernâni Pedroso
Programação Orientada a Objetos C++ Prof. Érico Olavo Weissheimer
Projeto 1.
O Essencial sobre Linguagens de Programação Luís Caires Maio 2005.
Linguagens de Programação Orientadas a Objetos
Universidade Federal do Pará Serviço Público Federal Centro de Ciências Exatas e Naturais Departamento de Informática Abril/2001.
Tipos de dados Existentes BIT - {0, 1} BIT_VECTOR - {vetor de BIT}
7 Abstração Genérica Unidades genéricas e instanciação.
Delphi Disciplina de Programação Visual 2/Linguagem de Banco de dados – QI – Aula1 Prof. Luciano Monteiro.
Classes e objetos P. O. O. Prof. Grace.
Introdução a Programação Orientada a Objetos
Paradigmas de Linguagens de Programação Paradima da Programação Orientada à Objetos Professor: Armando Hage Belém-2008.
Orientação a Objetos.
Universidade do Vale do Rio dos Sinos
TÉCNICAS DE PROGRAMAÇÃO II
Ada.
Programação Orientada a Objetos em Delphi
Introdução a programação (if669cc)
Funções Declaração function nomedafunção (arg_1, arg_2,..., arg_n) corpoDaFunção end.
Linguagens Orientadas a Objeto
Métodos de Construção de Software: Orientação a Objetos
Paradigmas da Programação – Semestre 1 – Aula 2 Professores: Eduardo Mantovani Fábio de Paula.
Introdução à Programação Orientada a Objetos com Java
Verificação de Tipos e Escopos
Estudo dos Conceitos e Paradigmas de Programação
Tipos Abstratos de Dados
Paradigmas de Linguagens de Programação
Paradigmas de Linguagens de Programação Linguagem Imperativa 2
Paradigmas de Linguagens de Programação Linguagem Imperativa 1
Linguagem de Expressões 2
Augusto Sampaio e Paulo Borba Centro de Informática
Augusto Sampaio e Paulo Borba Centro de Informática
Classes, Objetos, Atributos e Métodos JAVA
Paulo Borba Centro de Informática Universidade Federal de Pernambuco Classes Abstratas e Interfaces.
Augusto Sampaio e Paulo Borba Gustavo Pinto Marcelo Queiroz
Com coleções, cursor não é mais necessário
Introdução à Programação Orientada a Objetos com Java Paulo Borba Centro de Informática Universidade Federal de Pernambuco Programação Imperativa (e Ponteiros.
Ambiente de Execução - Rotinas
Paulo Borba Centro de Informática Universidade Federal de Pernambuco
Orientação a Objetos Parte I
Programação orientada a objectos em C++
Programação Orientada à Objetos
Capítulo III Modularização Procedimentos e Funções Universidade Federal de São Carlos Departamento de Computação Aluna: Luanna Lopes Lobato
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Java Kickstart, day 2 Semelhanças com linguagem C.
Paradigmas da Programação – Semestre 2 – Aula 1 Professores: Fábio de Paula Santos Eduardo Mantovani
Treinamento PHP Módulo 2 PHP Avançado Waelson Negreiros
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
©Silberschatz, Korth and Sudarshan (modificado)9.2.1Database System Concepts Capítulo 9: BDs Objecto-Relacional Relações imbricadas Tipos complexos e objectos.
Conceitos de SGBD Objeto-Relacional Oracle 10g [2] Monitoria GDI André Braga, Daniel Penaforte, Domingos Ribeiro, João Pascoal, Maria Carolina.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Copyright 2000, Departamento de Informática, UFPE. Todos os direitos reservados sob a legislação em vigor. Orientação a Objetos e Java.
Conceitos de Orientação a Objetos zConceito de tipo zTipos Abstratos de Dados zMódulos/Pacotes zEncapsulamento.
JR: Flexible Distributed Programming in an Extended Java Elmário Gomes Dutra Jr. Gustavo Romano.
OO com Java Luiz Carlos d´Oleron Roteiro de aula.
Engenharia de Software
Paradigmas de Linguagens de Programação Conceitos da Linguagem Imperativa 1 Augusto Sampaio e Paulo Borba Centro de Informática Universidade Federal de.
Paradigmas de Linguagens de Programação BNF e Interpretador da Linguagem Orientada a Objetos Augusto Sampaio e Paulo Borba Gustavo Pinto Marcelo Queiroz.
Módulo II Capítulo 1: Orientação a Objetos
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
Visão Geral de Orientação a Objetos com UML Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes OO e UML | 2 Objetivos.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Desenvolvendo sotfware com UML1 Visão Geral de Orientação a Objetos.
1. 2 Programação Orientada a Objetos II Prof. Maurício Rodrigues de Morais
1.
Introdução à Orientação a Objetos em Java Prof. Gustavo Wagner (Alterações) Slides originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB.
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

Paradigmas de Linguagens de Programação Linguagem Orientada a Objetos 1 Augusto Sampaio e Paulo Borba Departamento de Informática Universidade Federal de Pernambuco

Explorando Conceitos Encapsulamento –Módulos, pacotes Information hiding –Mecanismos de visibilidade Tipos abstratos Objetos e classes Pacotes e classes parametrizadas

Pacotes Grupo de declarações (variáveis, constantes, tipos, procedimentos, funções, classes, subpacotes) Agrupamento de conceitos fortemente relacionados Facilita entendimento, reuso e manutenção Encapsulamento

Pacotes com Informações Escondidas Pacotes com facilidades para exportar e esconder declarações: –Essenciais versus Auxiliares –O que? versus Como? Independência de detalhes de implementação Facilita reuso e manutenção Information hiding Tipos abstratos, objetos e classes

Tipos Abstratos Pacotes definindo tipos e escondendo a representação de seus elementos Estruturação: dados versus funções Tipo definido por operações, não valores Independência da representação dos elementos. Facilita reuso e manutenção

Tipos Abstratos (exemplo em Ada) package directory_type is type Dir is limited private procedure insert (dir : in out Dir; name : in Name; number: in Number); procedure lookup (...); private type DirNode; type Dir is access DirNode; type DirNode is record... end record; end Package body directory_type is procedure insert ( ); -- codigo para insert procedure lookup (...); -- codigo para lookup end directory_type; use directory_type; homedir : Dir; workdir: Dir;... insert (workdir, me, 6041); insert (homedir, me, 8715); lookup (workdir, me, mynumber, ok)

Objetos (forma primitiva) Pacotes definindo variáveis escondidas e exportando operações de acesso às mesmas Estruturação: dados versus funções Independência da representação das variáveis Controla como e em que ordem as variáveis podem ser acessadas Facilita reuso e manutenção

Objetos (forma primitiva) Similar a Tipo abstrato + Variável deste tipo, com certas restrições: –um dos argumentos de uma operação do tipo é a variável utilizada para armazenar o resultado de tal operação Nessa forma, objetos são cidadãos de segunda classe: não podem ser argumentos ou resultados de operações, etc Não há herança ou dynamic binding

Objeto (exemplo em Ada) package directory_object is procedure insert (name : in Name; number: in Number); procedure lookup (...); end directory_object; package body directory_object is type DirNode; type DirPtr is access DirNode; type DirNode is record... end record; root : DirPtr procedure insert ( ); -- codigo para insert procedure lookup (...); -- codigo para lookup begin...; -- inicializa diretorio end directory_object; use directory_object; directory_object.insert (me, 6041); directory_object.lookup (me, mynumber, ok)

Classes de objetos Em Ada, usando um generic package generic package directory_class is -- como na def de directory_object... end directory_object; package body directory_object... package homedir is new directory_class; package workdir is new directory_class; workdir.insert (me, 6041); homedir.insert (me, 6041); workdir.lookup (me, mynumber, ok);

Pacotes Parametrizados Pacotes são abstrações de declarações Abstrações podem ser parametrizadas Parâmetros: valores, tipos, pacotes, etc. O mesmo conceito pode ser aplicado para classes (templates de C++, generics de Java)

Leitura Programming Language Concepts and Paradigms –Capítulo 6

Exercícios e Projetos Estenda a Linguagem Orientada a Objetos 1 com os seguintes recursos: –Subtipos e herança múltipla de código –Expressão new para criação de objetos –Classes parametrizadas, como templates em C++ –Pacotes como em Java –Tipos abstratos