Conceitos de Programação Orientada por Objectos. Rui Camacho Programação 2

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

Download "Conceitos de Programação Orientada por Objectos. Rui Camacho Programação 2"

Transcrição

1 Conceitos de Programação Orientada por Objectos

2 Um Problema Problema: Existem, hoje em dia, aplicações complexas e de grande dimensão que é preciso desenvolver e manter de modo eficiente utilizando equipas de programadores.

3 Um Problema Porque não fazer em C? Pergunta:

4 Um Problema Resposta: Porque o C não tem todas as características necessárias para a resolução adequada do problema!! Ex: experimente conceber um programa em C para gerir os Recursos Humanos de uma empresa com uma diversidade enorme de empregados...

5 Abordagem Orientada a Objectos Objectivo: aplicações que resolvem problemas de elevada complexidade facilitar a utilização de equipas de programadores técnicas de desenvolvimento rápido de aplicações Abordagem: decompor o problema em partes mais simples e independentes cada equipa trabalha na implementação da solução de uma parte do problema. Interacção mínima com as outras equipas os módulos desenvolvidos são reutilizáveis em outras aplicações

6 Linguagens de Alto-nível iniciais Limitações: falta de estruturação nenhuma espécie de encapsulamento nenhum aspecto de abstracção Exemplos: implementações iniciais de Fortran e Basic

7 Procedimentos Blocos de código com variáveis locais que implementam algoritmos ou operações elementares de algoritmos. Acesso através de chamada pelo nome e passagem de parâmetros. Vantagens: estruturação/modularidade certo grau de encapsulamento certo grau de abstracção

8 Procedimentos (cont.) Limitações: nomes de funções não podem ser duplicados (ex: a função de inserir em estruturas de dados diferentes requer funções com nomes diferentes) dados manipulados por diferentes funções (ex: stack com operações de pop e push) são declarados globais não existe instanciação. Não se pode replicar dinamicamente uma estrutura de dados com operações de manutenção associadas. Exemplos: funções do C ou procedimentos/funções do Pascal

9 Módulos Blocos que ecapsulam dados e procedimentos. Uma interface especifica o que é visível do exterior. Vantagens: estruturação/modularidade encapsulamento de dados e procedimentos certo grau de abstracção Limitações: não há instanciação. Só existe um módulo de cada espécie. Não se pode replicar dinamicamente um módulo

10 Tipos Abstractos de Dados Conjunto de dados com operações de manipulação associadas. Vantagens: abstracção instanciação Limitações: não tem algumas características importantes de uma linguagem O.O. (ex: herança) Exemplos: Stack com operações de pop, push, top etc

11 Objectos Entidades que contêm dados e procedimentos e estão organizadas hierarquicamente. Utilizam um mecanismo de envio de mensagens. Vantagens: abstracção/instanciação herança modularidade encapsulamento polimorfismo Limitações: :-)

12 Exemplo Problema: quero enviar um ramo de flores à minha mãe que mora numa outra cidade Solução: vou à minha florista (donaflor) e digo-lhe envie um ramo de rosas à Sr a... que mora em... (do livro An introduction to Object-Oriented Programming - Timothy Budd)

13 Perspectiva O.O. do exemplo para desencadear uma acção transmito uma mensagem a um agente (objecto) a acção é iniciada pela recepção de uma mensagem a mensagem tem um receptor e pode ter argumentos: tipo de flores, nome do destinatário, morada uma vez aceite a mensagem é da responsabilidade do receptor realizar a acção desconheço os pormenores que o receptor usa para realizar a acção (encapsulamento)

14 Perspectiva O.O. do exemplo (cont.) assumo características e comportamentos típicos da categoria (Florista) a que pertence a instância (donaflor) (instanciação) assumo ainda características de categorias mais gerais (ex: Vendedores) das quais as Floristas são uma categoria particular. (herança) a realização da tarefa pela donaflor pode envolver outros agentes (objectos)

15 Classes Especificação de características (propriedades e comportamentos) comuns a um conjunto de indivíduos. (do livro Object-Oriented Analysis and Design - Grady Booch)

16 Classes e Objectos (do livro Object-Oriented Analysis and Design - Grady Booch)

17 Classes e Objectos Analogia C Java typedef struct{ class Pessoa{ char nome[80]; int idade; definição int idade; } Pessoa; public Pessoa(){ int = 0; } } automática Pessoa pessoa1; int inteiro; criação a pedido pessoa2 = pessoa = (Pessoa *) malloc(... ); new Pessoa();

18 Encapsulamento Esconde os detalhes de implementação de um objecto (do livro Object-Oriented Analysis and Design - Grady Booch)

19 Encapsulamento Capacidade de isolar dados e/ou porções de código. Vantagens: facilidade de desenvolver programas estruturados não é preciso memorizar e/ou verificar utilizações anteriores dos nomes de variáveis e procedimentos Desvantagens: Eficiência

20 Abstracção Abstracções formam uma hierarquia (do livro Object-Oriented Analysis and Design - Grady Booch)

21 Abstracção Abstracção foca as características essenciais dos objectos relativamente à perspectiva do observador (do livro Object-Oriented Analysis and Design - Grady Booch)

22 Abstracção Capacidade de encapsular e isolar informação de design de informação de execução. Vantagens: reutilização de software desenvolvimento mais rápido de software Desvantagens: Eficiência (alguns compiladores de linguagens imperativas fazem inlining )

23 Herança Princípio que permite que conhecimento de uma categoria mais geral que a categoria de um indivíduo seja acessível a esse indivíduo. Vantagens: evita replicação de informação (código e dados) desenvolvimento mais rápido de software Desvantagens: Eficiência

24 Polimorfismo Propriedade de utilizar o mesmo código para processar objectos diferentes. Vantagens: Tratamento uniforme de entidades de natureza diferente mas relacionada (ex: biblioteca com livros, revistas, jornais...) mais fácil actualização/manutenção de software

25 Evolução Hitórica I Sistemas de Primeira geração, início da segunda. Dados globais e sub-programas. (do livro Object-Oriented Analysis and Design - Grady Booch)

26 Evolução Hitórica II Sistemas do final da Segunda geração iníciop da terceira.parâmetros. Programação estruturada. (do livro Object-Oriented Analysis and Design - Grady Booch)

27 Evolução Hitórica III Sistemas de Terceira geração. Módulos independentes compilados separadamente. (do livro Object-Oriented Analysis and Design - Grady Booch)

28 Evolução Hitórica IV Sistemas de OO pequenos. Módulos com dados e procedimentos. (do livro Object-Oriented Analysis and Design - Grady Booch)

29 Evolução Hitórica V Grandes sistemas OO. Escalabilidade. (do livro Object-Oriented Analysis and Design - Grady Booch)

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

Programação Orientada a Objectos - P. Prata, P. Fazendeiro Programação Orientada a Objetos 1.1 - Perspectiva histórica: Conceitos A evolução das linguagens de programação tem-se feito na procura de ferramentas: -cada vez mais próximas da percepção humana - e que

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Curso Profissional de Gestão e Programação de Sistemas Informáticos Disciplina: Programação e Sistemas de Informação Programação Orientada a Objetos Módulos 9/10/11 POO 2016/2017 História A OO surgiu no

Leia mais

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

PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO (PSI) 11ºANO PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO (PSI) 11ºANO 1 Módulo 9 - Int. à Programação Orientada a Objectos 2 1. Conceitos básicos A Programação Orientada a Objectos: é uma lógica de programação que procura

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos PMR2300 Escola Politécnica da Universidade de São Paulo Proposta O mundo real é composto de entidades que interagem entre si para realizar tarefas (objetos). Objetos podem representar entidades concretas

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 1 Conceitos de Orientação a Objetos Classe Objeto Mensagem Orientação

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

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

Modelo do Mundo Real. Abstração. Interpretação Modelo do Mundo Real Mundo Real Abstração Interpretação Sistema de Software Modelo Algoritmo Abstração: O modelo precisa capturar apenas as características do mundo real que são importantes para o sistema

Leia mais

2. Introdução à Programação e Análise. Orientada a Objetos

2. Introdução à Programação e Análise. Orientada a Objetos Programação Orientada a Objetos em C++ Renato Cardoso Mesquita Departamento de Eng. Elétrica da UFMG renato@cpdee.ufmg.br 2. Introdução à Programação e Análise.......... Orientada a Objetos 2.1. Introdução

Leia mais

ORIENTAÇÃO A OBJETOS Histórico:

ORIENTAÇÃO A OBJETOS Histórico: GESTÃO DE TECNOLOGIA DA INFORMAÇÃO Anhanguera Itapecerica da Serra Curso: Gestão da Tecnologia da Informação Disciplina: Modelagem de Sistemas Prof. Luiz Antonio do Nascimento Histórico: A orientação a

Leia mais

Reinaldo Gomes Análise/projeto estruturado

Reinaldo Gomes Análise/projeto estruturado Programação Orientada a Objetos Objetos, Classes e Mensagens O Modelo de Objetos Objetos e Classes Mensagens e métodos Reinaldo Gomes reinaldo@cefet-al.br Decomposição Análise/projeto estruturado Soluciona

Leia mais

MODELAGEM DE DADOS MÓDULO III - UNIDADE V- MAPEAMENTO OBJETO RELACIONAL

MODELAGEM DE DADOS MÓDULO III - UNIDADE V- MAPEAMENTO OBJETO RELACIONAL MODELAGEM DE DADOS MÓDULO III - UNIDADE V- MAPEAMENTO OBJETO RELACIONAL 0 UNIDADE V: MAPEAMENTO OBJETO RELACIONAL Paradigma da Orientação a Objetos: Este paradigma parte do princípio que existem diversos

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

Introdução. Parte 01. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto

Introdução. Parte 01. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto Introdução Parte 01 Prof. Pedro Neto Aracaju Sergipe - 2011 Conteúdo 1. Introdução i. Paradigmas de ii. Motivação da OO iii. Desafio das novas tecnologias iv. Ambientes de Desenvolvimento Modernos v. OO

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. JAVA6 e Programação Orientada Pelos Objectos, F. Mário Martins, FCA, Julho de 2009.

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. JAVA6 e Programação Orientada Pelos Objectos, F. Mário Martins, FCA, Julho de 2009. JAVA6 e Programação Orientada Pelos Objectos, F. Mário Martins, FCA, Julho de 2009. Thinking in Java, 4 th Edition, Bruce Eckel. 1 1 - Introdução 1.1 - Perspectiva histórica: Conceitos A evolução das linguagens

Leia mais

Encapsulamento e Modularização

Encapsulamento e Modularização Encapsulamento e Modularização Linguagens de Programação Departamento de Computação Universidade Federal de Sergipe Encapsulamento Modularização Tipos Abstratos de Dados (TADs) Objetos Classes Conteúdo

Leia mais

Encapsulamento e Modularização

Encapsulamento e Modularização Encapsulamento e Modularização Departamento de Computação Universidade Federal de Sergipe Encapsulamento Modularização Tipos Abstratos de Dados (TADs) Objetos Classes Conteúdo Encapsulamento Programação

Leia mais

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

Programação em Comunicações. Programação Orientada por Objectos. Ademar Aguiar. Programação em Comunicações Programação Orientada por Objectos www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt 1 Objectivos Apresentar os princípios e conceitos base sobre orientação por objectos (objectos,

Leia mais

Domain Logic Patterns. Pedro Lemos N.º Arquitecturas de Software LEIC

Domain Logic Patterns. Pedro Lemos N.º Arquitecturas de Software LEIC Pedro Lemos N.º 49467 pcml@rnl.ist.utl.pt Arquitecturas de Software 2004 - LEIC Outline da Apresentação 1. Introdução e Motivação de Padrões de Software 2. Padrões Arquitecturais para Aplicações Empresariais

Leia mais

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

Paradigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto Suporte para Programação Orientada a Objeto Cristiano Lehrer Categoria das Linguagens que Suportam POO Suporte a POO acrescentado a uma linguagem já existente: C++ (também suporta programação procedural

Leia mais

Figura 3.1 Modelo da programação estruturada

Figura 3.1 Modelo da programação estruturada 3 - Conceitos de Orientação aos Objectos Hoje em dia, praticamente todo o software está a ser escrito numa ou noutra linguagem orientada aos objectos. As linguagens estruturadas como o C e o Pascal tiveram

Leia mais

Aula 4 Encapsulamento e Relacionamento Cleverton Hentz

Aula 4 Encapsulamento e Relacionamento Cleverton Hentz Aula 4 Encapsulamento e Relacionamento Cleverton Hentz Sumário } Encapsulamento } Propriedades } Relacionamentos } Composição } Herança 2 O que é encapsulamento? } O que vocês entendem por encapsular?!

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 1 - Introdução 1.1 - Perspectiva histórica: Conceitos A evolução das linguagens de programação tem-se feito na procura de ferramentas: - cada vez mais próximas da percepção humana - e que permitam lidar

Leia mais

Televisao tamanho tela emitirsom. conectarperifericos

Televisao tamanho tela emitirsom. conectarperifericos 1 - Introdução a Programação Orientada a Objeto Para tentar solucionar o problema do baixo reaproveitamento de código, surgiu a idéia da Programação Orientada a Objeto (POO). A POO não é nova, sua formulação

Leia mais

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

Introdução ao Java. Prof. Herbert Rausch Fernandes Introdução ao Java Prof. Herbert Rausch Fernandes Orientação a Objetos Programação Orientada por Objetos: é a construção de sistemas de software como uma coleção estruturada de implementações de tipos

Leia mais

Motivação. Estrutura de Dados. Motivação. Motivação. Por que estudar os tipos de dados? Duas são as principais preocupações em um projeto de software

Motivação. Estrutura de Dados. Motivação. Motivação. Por que estudar os tipos de dados? Duas são as principais preocupações em um projeto de software Estrutura de Dados Aula 01 -Tipos Abstratos de de Dados Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com Motivação Por que estudar os tipos de dados? Duas são as principais preocupações em um projeto

Leia mais

Conceitos de Programação Orientada a Objetos

Conceitos de Programação Orientada a Objetos Conceitos de Programação Orientada a Objetos Tatyana Bitencourt Com as técnicas de orientação a objeto, é possível obter resultados considerados impossíveis pensando de maneira estruturada. Como Java não

Leia mais

Programação Orientada a Objetos em Python

Programação Orientada a Objetos em Python Programação Orientada a Objetos em Python Diego Silveira Costa Nascimento Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte diego.nascimento@ifrn.edu.br 23 de junho de 2017 Ementa

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

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

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

Linguagem de Programação I Apresentação da Disciplina Linguagem de Programação I Apresentação da Disciplina Apresentação da Disciplina Conteúdo: 1) Orientação a Objetos - Características da OO - Reutilização de código 2) Introdução à Linguagem Java - Histórico

Leia mais

SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO. Luiz Leão

SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO. Luiz Leão SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 4.1. Aplicações utilizando Programação Estruturada e Programação Orientada a Objeto.

Leia mais

Os princípios do desenho orientado a objetos

Os princípios do desenho orientado a objetos Os princípios do desenho orientado a objetos Os princípios do desenho orientado a objetos Encapsulamento e congeneridade Domínios, grau de dependência e coesão Os perigos da herança e do polimorfismo Encapsulamento

Leia mais

Projeto de Linguagem. Linguagens de Programação

Projeto de Linguagem. Linguagens de Programação Projeto de Linguagem Renato Ferreira Linguagens de Programação Linguagens são adotadas para preencher uma demada Facilitar uma aplicação outrora difícil/impossível Independente da qualidade da linguagem

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

1 Introdução e Conceitos básicos

1 Introdução e Conceitos básicos 1 Introdução e Conceitos básicos Aula 02 Sumário Capítulo 1 Introdução e Conceitos básicos 1.1 Modelos 1.2 Tipos primitivos de dados 1.3 Tipo Abstrato de dados 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2

Leia mais

Web Presentation Patterns - Controllers

Web Presentation Patterns - Controllers Instituto Superior Técnico 29 de Novembro de 2004 1 2 3 Page Controller Front Controller 4 5 Porquê Usar Web Applications Não necessita instalar software no cliente. Acesso universal fácil. Interface comum

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

Complexidade do Software

Complexidade do Software Complexidade do Software Sistemas de software são complicados Os requisitos modernos tendem a complicálo cada vez mais: Alta confiabilidade; Alto desempenho; Desenvolvimento rápido e barato Precisamos

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Design Principles Representando SW em UML OO em C Pattens úteis para embedded Rodrigo M A Almeida Design Principles Design Principles são guias para decompor as funcionalidades e

Leia mais

Anual Obrigatória X Semestral X Opcional. Regime Diurno Nocturno Horas/semana T Teórica 2 Ano 1 1 T/P Teórico/Prática 4 Semestre 1 1 P- Prática

Anual Obrigatória X Semestral X Opcional. Regime Diurno Nocturno Horas/semana T Teórica 2 Ano 1 1 T/P Teórico/Prática 4 Semestre 1 1 P- Prática Grupo de disciplinas: Engenharia da Programação Anual Obrigatória X Semestral X Opcional Regime Diurno Nocturno Horas/semana T Teórica 2 Ano 1 1 T/P Teórico/Prática 4 Semestre 1 1 P- Prática Objectivos

Leia mais

Introdução à Programação. Conceitos Básicos de Orientação a Objetos

Introdução à Programação. Conceitos Básicos de Orientação a Objetos Introdução à Programação Conceitos Básicos de Orientação a Objetos Tópicos da Aula Aprenderemos fundamentos do paradigma orientado a objetos, mas antes veremos o que é paradigma Conceito de paradigma Diferentes

Leia mais

Encapsulamento. Alberto Costa Neto DComp - UFS

Encapsulamento. Alberto Costa Neto DComp - UFS Encapsulamento Alberto Costa Neto DComp - UFS 1 Motivação O que aprendemos até agora? O que diferencia a POO da Programação Imperativa? Estas informações são suficientes para construir um projeto OO eficiente?

Leia mais

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

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação Ederson Luiz da Silva Ciência da Computação Algoritmos e Programação Linguagem de programação Linguagem de Programação Linguagem de máquina http://www.assemblyprogressivo.net/p/curso.html Linguagem de

Leia mais

2. Introdução à Programação e Análise. Orientada a Objetos. Programação Orientada a Objetos em C O que é a Programação Orientada a Objetos?

2. Introdução à Programação e Análise. Orientada a Objetos. Programação Orientada a Objetos em C O que é a Programação Orientada a Objetos? Programação Orientada a Objetos em C++ Renato Cardoso Mesquita Departamento de Eng. Elétrica da UFMG renato@cpdee.ufmg.br 2. Introdução à Programação e Análise.......... Orientada a Objetos 2.1. O que

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

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

Conceitos de Linguagens de Programação - Características. Paavo Soeiro Conceitos de Linguagens de Programação - Características Paavo Soeiro Motivação Para que possa escolher uma linguagem apropriada ao problema. Melhorar o entendimento da linguagem utilizada. Facilitar o

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS I -CONCEITOS PRELIMINARES. Prof. Angelo Augusto Frozza, M.Sc.

PROGRAMAÇÃO ORIENTADA A OBJETOS I -CONCEITOS PRELIMINARES. Prof. Angelo Augusto Frozza, M.Sc. PROGRAMAÇÃO ORIENTADA A OBJETOS I -CONCEITOS PRELIMINARES Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO O que é programação Linguagens de Programação Paradigmas de Programação História

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação ET43I Aula 3 Prof. Daniel Cavalcanti Jeronymo Orientada a Objetos Abstração em computação, paradigmas de linguagens de programação. Conceitos de orientação a objetos. Universidade

Leia mais

Requisitos de sistemas

Requisitos de sistemas Requisitos de sistemas Unidade III - Casos de Uso Identificação de casos de uso Conceitos de orientação a objetos Modelagem do diagrama de classes e casos de uso 1 Casos de uso CONCEITO Especifica o comportamento

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Herança e Polimorfismo Msc. Paulo de Tarso F. Júnior 1 Projeto Orientado a Objetos O que desejam? Produção de projetos conceitualmente simples o bastantes para serem entendidos

Leia mais

Herança e Polimorfismo

Herança e Polimorfismo Herança e Polimorfismo Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aula de hoje Princípios do paradigma OO Herança Polimorfismo Interfaces Classes Abstratas Leonardo Murta Herança e Polimorfismo 2

Leia mais

Introdução à orientação a objetos

Introdução à orientação a objetos Universidade Federal de Juiz de Fora PET Elétrica Introdução à orientação a objetos Tutor: Francisco José Gomes Aluno: João Tito Almeida Vianna 18/05/2013 1 Programação Estruturada x Orientação a objetos

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

Linguagens de Domínio Específico

Linguagens de Domínio Específico Linguagens de Domínio Específico Fabio Mascarenhas 2016.1 http://www.dcc.ufrj.br/~fabiom/dsl Processamento de uma DSL Padrão Visitor A outra técnica para implementar um percurso consiste em usar o padrão

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

POO e C++: Herança e Polimorfismo

POO e C++: Herança e Polimorfismo POO e C++: Herança e Polimorfismo Márcio Santi Luiz Fernando Martha Conceito de Herança em POO Recurso que torna o conceito de classe mais poderoso; Permite que se construa e estenda continuamente classes

Leia mais

DELEGAÇÃO REGIONAL DO ALENTEJO CENTRO DE FORMAÇÃO PROFISSIONAL DE ÉVORA REFLEXÃO 5

DELEGAÇÃO REGIONAL DO ALENTEJO CENTRO DE FORMAÇÃO PROFISSIONAL DE ÉVORA REFLEXÃO 5 REFLEXÃO 5 Módulos 0782, 0783, 0784 e 0785 1/5 23-05-2013 Esta reflexão tem como objectivo partilhar e dar a conhecer o que aprendi nos módulos 0782 Programação em C/C++ - Estrutura Básica e Conceitos

Leia mais

Desenho de Software. Sumário

Desenho de Software. Sumário (QJHQKDULDGD3URJUDPDomR Desenho de Software Carla Ferreira Carla.Ferreira@dei.ist.utl.pt Sumário Objectivos Problemas Qualidades Técnicas Avaliação e Validação Casos Notáveis Exemplo Conclusões Desenho

Leia mais

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

Programação Orientada a Objectos - P. Prata, P. Fazendeiro Programação Orientada a Objetos 1.1 - Perspectiva histórica: Conceitos A evolução das linguagens de programação tem-se feito na procura de ferramentas: -cada vez mais próximas da percepção humana - e que

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 Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Pacotes e Encapsulamento Msc. Paulo de Tarso F. Júnior 1 Introdução Permite o agrupamento de classes em uma coleção chamada pacote Um pacote é uma coleção de classes e interfaces

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

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Universidade Federal de Uberlândia Prof. Fabiano Dorça - O que é um paradigma? É uma forma de abordar um problema, segundo um conjunto de procedimentos, valores ou conceitos

Leia mais

Histórico de Linguagens de Programação

Histórico de Linguagens de Programação Bacharelado em Ciência da Computação PARADIGMAS DE PROGRAMAÇÃO Histórico de Linguagens de Programação Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Objetivos Geral: Estudar as características

Leia mais

Linguagens de Programação Princípios e Paradigmas

Linguagens de Programação Princípios e Paradigmas Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Linguagens e Ambientes de Programação 2002-2003 Linguagens de Programação Princípios e Paradigmas Gladys Castillo

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

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

Introdução à Orientação a Objetos. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Introdução à Orientação a Objetos SSC 121 - Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Conteúdo Histórico de OO Vantagens de OO Linguagens OO Conceitos Básicos de OO

Leia mais

Aula 2 POO 1 Introdução. Profa. Elaine Faria UFU

Aula 2 POO 1 Introdução. Profa. Elaine Faria UFU Aula 2 POO 1 Introdução Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações

Leia mais

- Mapa de memória de um processo - Ponteiros

- Mapa de memória de um processo - Ponteiros 1 MCTA028 Programação Estruturada - Mapa de memória de um processo - Ponteiros Material preparado a partir de slides dos profs. Jesús Mena-Chalco e Fabrício Olivetti Luiz Rozante 3Q-2018 2 Alocação de

Leia mais

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

INTRODUÇÃO A POO. Programação Orientada a Objetos Flávio de Oliveira Silva 6. PROCEDIMENTAL (Algorítmica) INTRODUÇÃO A POO A (POO) é um paradigma Baseado em objetos Paradigma Modelo, padrão para especificação de um problema Paradigmas existentes na programação de computadores: Procedimental; Funcional; Lógico

Leia mais

Orientação a Objetos AULA 09

Orientação a Objetos AULA 09 Orientação a Objetos AULA 09 Prof. Fabrício Martins Mendonça Conteúdo da Aula ü Coleções ü Coleções lista de objetos ü Coleções conjuntos 2 Coleções Podemos armazenar vários objetos em um array e este

Leia mais

Fundamentos de Programação 1

Fundamentos de Programação 1 Fundamentos de Programação 1 Slides N. 2 E / Prof. SIMÃO Slides elaborados pelo Prof. Robson Linhares elaborados pelo Prof. Robson Linhares http://www.dainf.ct.utfpr.edu.br/~robson/ Jean Marcelo SIMÃO

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-4 Construtores e Sobrecarga Prof. Esbel Tomás Valero Orellana Até Aqui Modelos e POO Classes e sua implementação em Java Encapsulamento Tipos de dados nativos em Java

Leia mais

3.4. Programação Orientada a Objetos

3.4. Programação Orientada a Objetos Paradigmas de Linguagens I 1 3.4. Programação Orientada a Objetos Os conceitos de objetos e classes, vistos nas seções anteriores, são fundamentais na programação orientada a objetos. Complementando a

Leia mais

A figura abaixo representa uma classe denominada Carteira. Esta classe é composta dos métodos depositar(valor) e retirar(valor) e do atributo saldo.

A figura abaixo representa uma classe denominada Carteira. Esta classe é composta dos métodos depositar(valor) e retirar(valor) e do atributo saldo. 1-Introdução à Programação Orientada a Objetos 1.1. O que é programação orientada a objetos? Programação orientada a objetos é uma metodologia de desenvolvimento de software. Sua principal vantagem é a

Leia mais

Templates. BCC Programação Orientada a Objectos(POO) Departamento de Computação - UFOP

Templates. BCC Programação Orientada a Objectos(POO) Departamento de Computação - UFOP Templates BCC 221 - Programação Orientada a Objectos(POO) Guillermo Cámara-Chávez Departamento de Computação - UFOP Introdução Os templates ou gabaritos fornecem a base para existência da programação genérica

Leia mais

Modularidade - Funções e Procedimentos

Modularidade - Funções e Procedimentos Modularidade - Funções e Procedimentos José Gustavo de Souza Paiva Problema Em diversas situações, é preciso executar uma tarefa específica diversas vezes em um programa, variando apenas os dados de entrada

Leia mais

O PARADIGMA ORIENTADO POR OBJETOS

O PARADIGMA ORIENTADO POR OBJETOS O PARADIGMA ORIENTADO POR OBJETOS A idéia básica do paradigma orientado a objetos é imaginar que programas simulam o mundo real: um mundo povoado de objetos. Dessa maneira, linguagens baseadas nos conceitos

Leia mais

RPC e RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

RPC e RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula

Leia mais

Programação I Curso: Sistemas de Informação. Prof.: José Ronaldo Leles Júnior .:

Programação I Curso: Sistemas de Informação. Prof.: José Ronaldo Leles Júnior  .: Programação I Curso: Sistemas de Informação Prof.: José Ronaldo Leles Júnior Email.: juniorleles80@gmail.com 1º semestre - 2017 POO Paradigma Orientado a Objetos O que é um Paradigma? É um ponto de vista

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Paradigmas de Programação Prof. Francisco de Assis S. Santos, Dr. São José, 2014. Paradigmas de Programação: Programação sequencial A solução para o problema se da através

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 Interfaces Uma interface é uma forma abstrata de descrever um objeto A classe fixa a forma de um objeto

Leia mais

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

CURSO PROFISSIONAL DE TÉCNICO DE GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS CURSO PROFISSIONAL DE TÉCNICO DE GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS Planificação Anual de Programação e Sistemas de Informação 11º ano Ano Lectivo 2013/2014 Turma: 11º H Professor: João Barbosa

Leia mais

GRUPO: Rafael Igor Vanderlei Vieira

GRUPO: Rafael Igor Vanderlei Vieira GRUPO: Rafael Igor Vanderlei Vieira C# INTRODUÇÃO Paradigmas: Orientado a objeto; Estruturado; Imperativo; Surgimento: 2002. Criador: Anders Hejlsberg. Principais Compiladores:.NET Framework (Windows),

Leia mais

Aula 1 Conceitos Básicos

Aula 1 Conceitos Básicos Aula 1 Conceitos Básicos Elerson R. S. Santos elerson@dcc.ufmg.br Livro Projeto de Algoritmos Capítulo 1 @ DCC/UFMG O que é um algoritmo? O que é um programa? O que é um TAD? Algoritmos e Estrutura de

Leia mais

A modelagem é tida como a parte central de todas as atividades para a construção de um bom sistema, com ela podemos:

A modelagem é tida como a parte central de todas as atividades para a construção de um bom sistema, com ela podemos: Módulo 6 Análise Orientada a Objeto É interessante observar como a análise orientada a objeto utiliza conceitos que aprendemos há muito tempo: objetos, atributos, classes, membros, todos e partes. Só não

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 1 - Introdução 1.1 - Perspectiva histórica: Conceitos A evolução das linguagens de programação tem-se feito na procura de ferramentas: - cada vez mais próximas da percepção humana - e que permitam lidar

Leia mais

Desenvolvimento de Aplicações Desktop

Desenvolvimento de Aplicações Desktop Desenvolvimento de Aplicações Desktop Conceitos Básicos de POO Professor: Charles Leite Motivação Na Programação OO, um OBJETO é considerado a entidade central de um programa Assim, o desenvolvimento de

Leia mais

Daniel Wildt

Daniel Wildt Orientação a Objetos 1 Daniel Wildt http://danielwildt.blogspot.com Agenda 2 Orientação a Objetos Classe x Objeto Representação classe Atributos / operações Construtores e Destrutores Liberando memória

Leia mais

Levantamento, Análise e Gestão Requisitos. Aula 03

Levantamento, Análise e Gestão Requisitos. Aula 03 Levantamento, Análise e Gestão Requisitos Aula 03 Agenda Paradigma da Orientação a Objetos Classes e objetos Abstração Encapsulamento Herança e polimorfismo Associação de objetos Coesão e acoplamento Levantamento

Leia mais

Domínios, grau de dependência e coesão. Unipampa Bagé/RS Engenharia de Computação Disciplina de Engenharia de Software

Domínios, grau de dependência e coesão. Unipampa Bagé/RS Engenharia de Computação Disciplina de Engenharia de Software Domínios, grau de dependência e coesão Unipampa Bagé/RS Engenharia de Computação Disciplina de Engenharia de Software Domínios de Classe e Objetos Sistema OO conterá classes dos 4 domínios: Domínio de

Leia mais

Orientação a Objetos (OO)

Orientação a Objetos (OO) CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 04 APRESENTAÇÃO: Hoje vamos discutir os conceitos de Orientação a Objetos.

Leia mais

Introdução ao C++ Ambientes de Desenvolvimento Avançados. 2 de Outubro de 2002 ADA / DEI - ISEP 2002/2003 1

Introdução ao C++ Ambientes de Desenvolvimento Avançados. 2 de Outubro de 2002 ADA / DEI - ISEP 2002/2003 1 Introdução ao C++ Ambientes de Desenvolvimento Avançados 2 de Outubro de 2002 ADA / DEI - ISEP 2002/2003 1 C++! Extensão ao c! Facilita a representação de tipos de dados abstractos (tipo classe)! Suporte

Leia mais

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

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos Linguagem de Programação II Programação Orientada a Objetos Orientação a Objetos Prof. Alessandro Borges 2 Tópicos Introdução à Programação Orientada a Objetos Conceitos Objetivos Classes e Objetos Atributos

Leia mais

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

Notas de Aula 03: Introdução a Orientação a Objetos e a UML Notas de Aula 03: Introdução a Orientação a Objetos e a UML Objetivos da aula: Introduzir os conceitos da Orientação à Objetos (O.O) Introduzir os conceitos da UML Relacionar os processos às ferramentas

Leia mais

Paradigmas de análise e desenvolvimento de sistemas. Principais Paradigmas

Paradigmas de análise e desenvolvimento de sistemas. Principais Paradigmas Paradigmas de análise e desenvolvimento de sistemas Principais Paradigmas Rosemary Silveira Filgueiras Melo rosesfmelo@hotmail.com rosefib.webnode.com.br Tópicos abordados Conceito de Paradigma Tipos de

Leia mais

Reuso de Software Aula Maio 2012

Reuso de Software Aula Maio 2012 Reuso de Software Aula 19 Tópicos da Aula Engenharia de Software baseada em Componentes (CBSE) Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com Componentes Modelos de Componentes

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 9 Abordagem ao projecto de programas s, Abordagem Top-Down, Modularidade Processo de Desenvolvimento Tipos de Erros e Casos de

Leia mais

Paradigmas de Desenvolvimento de Software

Paradigmas de Desenvolvimento de Software Programação Orientada a Objetos Prefácio para a POO Abstração e encapsulamento Tipos de Dados Abstratos t Histórico das Linguagens de POO Reinaldo Gomes reinaldo@cefet-al.br Paradigmas de Desenvolvimento

Leia mais