Introdução à modelagem orientada a objetos INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Roteiro O que é modelagem orientada a objetos Quais as vantagens de modelar Que conhecimentos precisam ser adquiridos para aprender a modelar INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente O que é modelagem orientada a objetos? • Descrição diagramática de algo a ser (ou que já foi) implementado em linguagem de programação Utilizam notações gráfica e textuais. Representam as partes essenciais de um sistema. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Para que modelagem orientada a objetos? Não seria esforço dobrado modelar e depois codificar? Não seria fazer a mesma coisa duas vezes? • É preciso compreender que as respostas para as duas perguntas é “Não” INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Para que modelagem orientada a objetos? • Para auxiliar a concepção de uma solução • Exemplo das engenharias: Todo empreendimento complexo demanda um esforço de planejamento antes da construção Exemplos: edificações, estradas, veículos, equipamentos eletrônicos etc. Ninguém constrói um edifício partindo diretamente para o assentamento de tijolos (sem planejamento prévio) INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Para que modelagem orientada a objetos? • Exemplos das engenharias mostram que situações complexas exigem tratamento diferente de situações não complexas Construção de um edifício de 20 andares: necessidade de projeto prévio INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Para que modelagem orientada a objetos? Construção de uma casa de cachorro: martelo, pregos e mãos-à-obra INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Para que modelagem orientada a objetos? • Software complexo exige planejamento antes da construção Planejamento: modelagem orientada a objetos Construção: codificação Produto de Software INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Vantagens da modelagem orientada a objetos • Descrição mais facilmente compreensível Mais próxima da forma como as pessoas pensam Não é natural “pensar” em linguagem de programação INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Vantagens da modelagem orientada a objetos • Proporciona diferentes pontos de vista Descrição dos elementos que compõem um programa (estrutura) Possibilidade de visão global Possibilidade de atenção a detalhes INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente O que aprender para modelar? • 4 questões devem ser tratadas Conhecer os conceitos referentes a modelagem Conhecer uma linguagem de modelagem Saber que passos seguir Avaliar o que for produzido INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Conhecer uma linguagem de modelagem • UML, segunda versão • Os quatorzes diagramas de UML • Para que serve cada diagrama INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Exemplos de Modelos Orientados a Objetos • Diagrama de Caso de Uso INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Exemplos de Modelos Orientados a Objetos • Diagrama de Classes INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Compromisso de chegar ao código... • Objetivo final é um programa que compile e execute sem erros e que cumpra os requisitos estabelecidos • A geração de código é uma das etapas do processo • Código gerado subsidia o aperfeiçoamento da modelagem INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente EXERCÍCIO EM SALA • Observe a imagem abaixo, e diga quais objetos você consegue identificar? INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Objeto • Um objeto pode ser real ou abstrato. • Os objetos possuem informações (contém dados) e desempenham ações (possuem funcionalidade). • No software OO: Um objeto é qualquer coisa, real ou abstrata, a respeito da qual armazenamos dados e os métodos que os manipulam. • Identificar os atributos e o comportamento de objetos do mundo real é o primeiro passo para começar a pensar em programação OO. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Objeto • Exemplo: Uma fatura; Uma organização; Um vôo de avião; Uma pessoa; Um lugar. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Objeto • Analise os seguintes objeto e pergunte: Quais as características que esse objeto pode ter? Quais os possíveis comportamentos que ele pode executar? INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína 19 Abstração • Habilidade mental que permite os seres humanos visualizarem os problemas do mundo real com vários graus de detalhes, dependendo do contexto corrente do problema. • Nós aprendemos a abstrair desde pequenos, criamos conceitos, assumimos verdades, entendemos o mundo de acordo com a nossa capacidade intelectual. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Visão do Projeto INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Classes • Uma classe é uma implementação de um tipo de objeto. • Uma classe especifica uma estrutura de dados e os métodos operacionais permissíveis que se aplicam a cada um de seus objetos. • As classes de programação são projetos de um objeto, aonde têm características e comportamentos, ou seja, permite armazenar propriedades e métodos dentro dela. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Classe Pessoa INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Classe Banco Atributos Métodos INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Atributos da Classe • Atributos identificam características da classe, ou seja, “o que a classe tem”, por exemplo, todo animal possui uma idade e peso. • São os elementos que definem a estrutura de uma classe, ou seja suas características. Idade e Peso são atributos da classe Animal INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína public $valor1; public $valor2; Métodos da Classe • Métodos são as ações que a classe será capaz de realizar, podemos relacionar os métodos ao “o que o objeto da classe pode fazer”. Por exemplo, um animal pode andar, grunir, etc... • Os métodos determinam o comportamento dos objetos de uma classe. • Os métodos são similares às funções e procedures do universo da programação estruturada. Andar() e Grunir() são métodos da classe INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína function soma(){ echo 'Soma:'.$this>valor1 += $this->valor2. "<br> "; } Instância • Representa cada ocorrência de um objeto formados a partir de uma classe. • É o mesmo que criar o objeto a partir da classe Exemplo PHP OO $calcular = new Operacoes(); $calcular->valor1=50; $calcular->valor2=100; INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Exercício em sala • Preencha as palavras cruzadas conforme o enunciado: 1. Representa cada ocorrência de um objeto; 2. Habilidade de visualizarem os problemas do mundo real com detalhes; 3. Qualquer coisa do mundo real com limite e identifidade bem definido; 4. Conjunto de objetos do mundo real que possuem tipos de características e de comportamentos em comum; 5. Uma característica particular de uma ocorrência da classe; 6. Linguagem de Modelagem Unificada; INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Palavra Cruzada 1 2 3 4 6 5 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Palavra Cruzada 1 3 O 5 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína I N 2 A B S T R A Ç B J E T O C L A S S E 4 N 6 C A T R I B U T O M A L Técnico Subsequente à O REFERÊNCIA BIBLIOGRÁFICA • SILVA, Ricardo P. e. UML 2 em modelagem orientada a objetos. Florianópolis, SC: Visual Books, 2007. 232p. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente