Introdução à Programação Um enfoque orientado a construção de modelos em programas baseados em objetos Gustavo Motta Departamento de Informática - UFPB.

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto Orientado a Objetos
Advertisements

DFD - Diagrama de Fluxo de Dados
Análise e Projeto Orientado a Objetos
Programação orientada a objetos Introdução Paradigma de objetos e mensagens Classes e instâncias.
ESTRUTURA DE DADOS Professor: Marcelo Mendes Turma: MBI-1
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Introdução a Programação Orientada a Objetos
Introdução à Programação Um enfoque orientado a construção de modelos em programas baseados em objetos Gustavo Motta Departamento de Informática - UFPB.
ABSTRAÇÃO processo de representar um grupo de entidades através de seus atributos comuns feita a abstração, cada entidade particular (instância) do grupo.
2 Políticas, Modelos e Mecanismos de Segurança
Introdução à Programação Um enfoque orientado a construção de modelos em programas baseados em objetos Gustavo Motta Departamento de Informática - UFPB.
Paulo Marques Hernâni Pedroso
Aula 8 Contratos.
Introdução à Programação Orientada à Objetos Prof. Daniel Merli Lamosa Maio de 2002.
UML Modelando um sistema.
UML – Visões Parte 1 Modelando um sistema.
Prof. Thiago Pereira Rique
Orientação a Objetos: Encapsulamento e Classificação
Modelagem Orientada a Objetos
Orientação a Objetos: Encapsulamento e Classificação
Introdução a Bancos de Dados
Padrões GoF – Factory Method
Introdução a diagrama de classes e UML
Análise Léxica Supondo o trecho de programa abaixo:
Introdução à Programação
Introdução à Programação
Introdução à Programação Um enfoque orientado a construção de modelos em programas baseados em objetos Gustavo Motta Departamento de Informática - UFPB.
UNIVERSIDADE KIMPA VITA
Ponteiros.
Paulo J. Azevedo Departamento de Informática Universidade do Minho
Classes e objetos Modelagem
Classes e objetos P. O. O. Prof. Grace.
Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Princípios de Orientação à Objetos
Estrutura de dados, pseudocódigo
Programação Orientada à Objetos
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
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
Qualidade do Produto de Software
Classes, Objetos, Atributos e Métodos JAVA
Projeto de Banco de Dados
Programação Orientada à Objetos
Análise e Projeto de Sistemas
Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 5 Eduardo Silvestri
SISTEMAS DISTRIBUIDOS Aula 4
Análise Orientada Objeto
Banco de Dados Aplicado ao Desenvolvimento de Software
PROGRAMAÇÃO ORIENTADA A OBJETOS
Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF.
Introdução a Banco de Dados Aula 04
Análise e Projeto de Sistemas
Paradigmas da Programação – Semestre 2 – Aula 1 Professores: Fábio de Paula Santos Eduardo Mantovani
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos Professor: Cheli Mendes Costa Introdução a Programação Orientada.
Conceitos Básicos e Manipulação de Objetos
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.
Análise e Projeto de Software
20/04/2017 Orientação a Objetos 1 1.
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
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
INTRODUÇÃO AO CÁLCULO CONJUNTOS NUMERICOS.
Desenvolvendo sotfware com UML1 Visão Geral de Orientação a Objetos.
Análise Orientada a Objetos Por Patrícia Braga Centro Universitário Jorge Amado.
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:

Introdução à Programação Um enfoque orientado a construção de modelos em programas baseados em objetos Gustavo Motta Departamento de Informática - UFPB

(C) 2008 Gustavo Motta2 2. Modelos orientados a objetos Conceito Conceito Modelos orientados a objetos representam o mundo real por meio de objetos que interagem entre si exibindo um comportamento pela execução de operações Modelos orientados a objetos representam o mundo real por meio de objetos que interagem entre si exibindo um comportamento pela execução de operações Objetos são entidades que têm Objetos são entidades que têm Identidade Identidade Atributos determinando um estado Atributos determinando um estado Comportamento Comportamento Objetos mais simples são compostos para formar objetos mais complexos Objetos mais simples são compostos para formar objetos mais complexos A execução de operações permite a troca de informações entre os objetos A execução de operações permite a troca de informações entre os objetos

(C) 2008 Gustavo Motta3 Problema 2: Representar uma figura com as seguintes características Problema 2: Representar uma figura com as seguintes características Situa-se em algum um lugar no espaço Situa-se em algum um lugar no espaço Poder ser movida de um local para outro Poder ser movida de um local para outro Poder ser apagada Poder ser apagada Poder ser mostrada Poder ser mostrada 2. Modelos orientados a objetos

(C) 2008 Gustavo Motta4 Problema 2: Representar uma figura Problema 2: Representar uma figura Propriedades essenciais – observáveis externamente Propriedades essenciais – observáveis externamente A figura situa-se num certo lugar no espaço – estado da figura A figura situa-se num certo lugar no espaço – estado da figura A figura está visível ou invisível – estado da figura também A figura está visível ou invisível – estado da figura também As operações para mover, mostrar e apagar a figura – comportamento As operações para mover, mostrar e apagar a figura – comportamento Uma operação para criar uma figura, atribuindo-lhe uma identidade Uma operação para criar uma figura, atribuindo-lhe uma identidade 2. Modelos orientados a objetos

(C) 2008 Gustavo Motta5 Problema 2: Representar uma figura Problema 2: Representar uma figura Representação das propriedades essenciais Representação das propriedades essenciais Estado da figura Estado da figura Posição no espaço Posição no espaço Par de variáveis x e y do tipo inteiro representando a posição da figura em coordenadas cartesianas Par de variáveis x e y do tipo inteiro representando a posição da figura em coordenadas cartesianas Visível ou invisível Visível ou invisível Variável do tipo lógica denominada visivel, a qual só admite dois valores: verdadeiro ou falso Variável do tipo lógica denominada visivel, a qual só admite dois valores: verdadeiro ou falso Comportamento Comportamento Determinado pela execução das seguintes operações Determinado pela execução das seguintes operações movePara(inteiro a, inteiro b) movePara(inteiro a, inteiro b) mostra() mostra() apaga() apaga() Criação de figuras Criação de figuras Determinado pela operação especial de criação chamada Determinado pela operação especial de criação chamada criar criar 2. Modelos orientados a objetos

(C) 2008 Gustavo Motta6 Problema 2: Representar uma figura Problema 2: Representar uma figura Representação gráfica do modelo de um objeto figura Representação gráfica do modelo de um objeto figura 2. Modelos orientados a objetos inteiro x, y; logico visivel; Figura movePara(inteiro a, inteiro b) Mostra() Apaga() Estado

(C) 2008 Gustavo Motta7 Problema 2: Representar uma figura Problema 2: Representar uma figura Representação textual numa pseudo-linguagem Representação textual numa pseudo-linguagem 2. Modelos orientados a objetos modelo Figura inicio do modelo inteiro x = 0, y = 0; logico visivel = falso; operacao movePara(inteiro a, inteiro b) inicio x = a; y = b; fim operacao mostra() inicio se (visivel == falso) inicio exiba Figura desenhada na posição + x +, + y visivel = verdadeiro fim fim operacao apaga() inicio se (visivel == verdadeiro) inicio exiba Figura apagada na posição + x +, + y visivel = falso fim fim fim do modelo Declaração das operações do objeto Figura Declaração das variáveis do estado do objeto Figura

(C) 2008 Gustavo Motta Problema 2: Representar uma figura Problema 2: Representar uma figura Criação de figuras com base num modelo Criação de figuras com base num modelo 2. Modelos orientados a objetos Figura fig1 = criar Figura(); Memória x y visivel 0 0 falso A variável fig1 declarada do tipo Figura é uma referência para o objeto criado na memória na posição 1 Fig1.movePara(10, 15); Fig1.mostra(); verdadeiro A partir de um mesmo modelo, pode-se criar um número arbitrário de objetos Figura fig2 = criar Figura(); x y visivel 0 0 falso Fig2.mostra(); verdadeiro Fig2.movePara(3, 9); 3 9 Fig1.apaga(); falso Note-se que foi adotada uma visão abstrata de uma figura com base em suas características essenciais Não foi dada uma forma concreta Ponto Quadrado Imagem Etc. Mudanças de estado feitas por uma operação são percebidas pelas operações executadas depois

(C) 2008 Gustavo Motta9 Objetos Objetos Conceitualmente são entidades que têm um estado, um comportamento e uma identidade Conceitualmente são entidades que têm um estado, um comportamento e uma identidade Abstraem entidades do mundo real Abstraem entidades do mundo real Do ponto de vista de programação Do ponto de vista de programação Um objeto é uma coleção de operações que compartilham um estado Um objeto é uma coleção de operações que compartilham um estado Operações determinam o comportamento do objeto Operações determinam o comportamento do objeto Operações também são chamadas de métodos Operações também são chamadas de métodos Operações definem a interface do objeto, isto é, o meio pelo qual interagimos com ele independente de como está implementado Operações definem a interface do objeto, isto é, o meio pelo qual interagimos com ele independente de como está implementado O estado compartilhado é escondido (encapsulado) do mundo exterior O estado compartilhado é escondido (encapsulado) do mundo exterior Apenas as operações podem acessá-lo para consulta ou modificação Apenas as operações podem acessá-lo para consulta ou modificação Variáveis que determinam o estado interno de um objeto são chamadas de variáveis de instância Variáveis que determinam o estado interno de um objeto são chamadas de variáveis de instância 2. Modelos orientados a objetos

(C) 2008 Gustavo Motta10 Problema 2: Representar uma conta bancária simplificada Problema 2: Representar uma conta bancária simplificada A conta mantém informações sobre o correntista, o saldo em conta e se a conta é especial ou não A conta mantém informações sobre o correntista, o saldo em conta e se a conta é especial ou não Caso a conta seja especial, o correntista poderá retirar mais dinheiro do que tem no saldo, isto é, o saldo pode ficar negativo em contas especiais, mas não em contas normais Caso a conta seja especial, o correntista poderá retirar mais dinheiro do que tem no saldo, isto é, o saldo pode ficar negativo em contas especiais, mas não em contas normais O correntista poderá também depositar valores e verificar o saldo atual O correntista poderá também depositar valores e verificar o saldo atual A conta inicialmente está fechada com saldo zero, não é especial e não pertence a um correntista em particular A conta inicialmente está fechada com saldo zero, não é especial e não pertence a um correntista em particular Deve haver uma operação para abertura de conta após a sua criação Deve haver uma operação para abertura de conta após a sua criação 2. Modelos orientados a objetos

(C) 2008 Gustavo Motta11 Problema 2: Representar uma conta bancária Problema 2: Representar uma conta bancária Representação das propriedades essenciais Representação das propriedades essenciais Estado da conta Estado da conta ? Comportamento Comportamento ? 2. Modelos orientados a objetos

(C) 2008 Gustavo Motta12 Classes Classes Conceitualmente, conjunto de seres, objetos ou fatos que apresentam um ou mais aspectos distintivos em comum (Dic. Houaiss) Conceitualmente, conjunto de seres, objetos ou fatos que apresentam um ou mais aspectos distintivos em comum (Dic. Houaiss) Do ponto de vista de programação Do ponto de vista de programação Uma classe especifica um conjunto de objetos com estrutura (variáveis do estado) e comportamento (operações) comuns Uma classe especifica um conjunto de objetos com estrutura (variáveis do estado) e comportamento (operações) comuns Padrão (fôrma) para criação de objetos Padrão (fôrma) para criação de objetos Objetos de uma classe são também chamados de instâncias da classe Objetos de uma classe são também chamados de instâncias da classe Uma classe agrupa objetos com características iguais Uma classe agrupa objetos com características iguais Os modelos vistos na pseudo-linguagem dos exemplos anteriores nada mais são que classes de objetos! Os modelos vistos na pseudo-linguagem dos exemplos anteriores nada mais são que classes de objetos! 2. Modelos orientados a objetos