Académique Documents
Professionnel Documents
Culture Documents
Conceitos Preliminares:
O que programao? Programas Linguagem de programao Resoluo de problemas Introduo a Programao Orientada objetos O paradigma OO As bases da OO Mudanas de enfoque Programao estruturada x Orientada Objetos
Aspectos da programao
Programar controlar
Computadores fazem exatamente o que dito a ele. Computadores aprendem coisas novas se voc mostrar como. Computadores devem fazer algo til
Programar ensinar
Aspectos da programao
Programar modelar
descrever propriedades e comportamentos relevantes de um sistema de componentes identificar aspectos relevantes sem se perder nos detalhes
Programar abstrair
O que um programa?
modelo:
representao simplificada de aspectos relevantes de alguma coisa, real ou abstrata coleo de componentes que trabalham juntos
sistema:
sintaxe:
semntica:
Niklaus Wirth
Constantine, Yourdon
Anos 90
Anlise Estruturada
o objetivo principal era fazer com que o pessoal de sistemas pensasse antes de agir; tentativa de impor alguma ordem natureza acidental da construo de programas; produziu um modelo rigorosamente seqencial;
anlise;
projeto;
O que ?
implementao.
Programao Orientada Objetos 7
Como
Metodologia 'estruturada'
Tradicionalmente, a literatura tratava anlise, projeto e implementao como atividades diferentes e, at certo ponto, desconexas pois tinham:
Na necessidade de especificar o que est prestes a ser implementado tratavam a anlise e o projeto como as nicas coisas que realmente interessam.
Orientao objetos
Crise do software e necessidade de mudar Surgiu a idia da orientao a objetos que representa melhor o mundo real, uma vez que a percepo e o raciocnio do ser humano esto relacionados diretamente com o conceito de objetos. Objetivo principal da utilizao do paradigma da Orientao a Objetos, na construo de software :
Rpido
Barato
Flexvel
Na Estruturada
Os sistemas so divididos em subprogramas; Fixa a ateno muito mais nos procedimentos que nos dados. Dados e Procedimentos possuem a mesma importncia;
Programao Orientada Objetos 10
Na Orientao Objetos
A idia fundamental da programao orientada a objetos que toda estrutura de dados utilizada em um programa deve estar intimamente associada s operaes que realizam o acesso a ela, e vice-versa. O paradigma da OO baseado na construo de sistemas a partir de componentes reutilizveis, chamados de classes. Uma classe generaliza/ representa um conjunto de objetos similares.
Programao Orientada Objetos 11
Paradigma = Padro
Paradigma da OO
Pode ser descrito como uma estratgia ou abordagem genrica para se fazer alguma coisa. Muitas pessoas consideram o paradigma como um modelo ou um conjunto de normas especficas.
Estratgia de desenvolvimento baseada no conceito de que o sistema deve ser construdo a partir de componentes reutilizveis, chamados de classes.
Programao Orientada Objetos 12
As bases da OO
A tecnologia de objetos apresenta componentes chaves que fundamentam a mudana de enfoque no processo de modelagem e desenvolvimento de aplicaes, trazendo benefcios intrnsecos filosofia [FURLAN, 1998]. programao estruturada:
estruturas de controle (seqencial, condicional e repetitiva), modularizao, tipos abstratos de dados classes, objeto, herana (reutilizao de cdigo), polimorfismo.
13
construo de sistemas de informao baseado na compreenso desse sistema como um conjunto de programas que, por sua vez, executam processos sobre os dados;
observar o mundo como uma coletnea de objetos que interagem entre si, apresentam caractersticas prprias que so representadas pelos seus atributos (dados) e operaes (processos);
15
Os principais diagramas so usados nas fases de anlise, projeto e implementao, apenas com uma mudana de viso. Dados so protegidos por cpsulas, onde tambm residem procedimentos que acessam estes dados. Reutilizao de cdigo. Aumento de produtividade. Diminuio do custo de desenvolvimento e manuteno.
Programao Orientada Objetos 17
Conceitos de OO
Objeto qualquer coisa existente no mundo real, em formato concreto ou abstrato. Ex.: aluno, professor, mesa, cadeira, caneta, disciplina, avaliao, janela do windows, boto, caixa de dilogo, etc.. caracterizado por atributos e operaes.
Programao Orientada Objetos 18
Conceitos de OO
Nome: Joo de Souza Endereo: Rua A, n 28 Sexo: Masculino Data de Nascimento: 01/03/1970 Altura: 1,75 m Peso: 70 Kg Estado civil: casado Cor dos olhos: azuis Cor dos cabelos: castanho
19
Conceitos de OO
Operaes so comportamentos que alteram o estado do objeto ou prestam servios a outros objetos.
Atributos
Ex.: Objeto Funcionrio Pedro Nome: Pedro de Souza Cargo: Gerente Salrio: R$ 2000,00 Data de Admisso: 15/06/1998
Operaes
20
Conceitos de OO
Classe
quando identificamos caractersticas e operaes similares em objetos distintos, estamos realizando sua classificao -> identificamos classes; classe uma representao para um conjunto de objetos que compartilham atributos, mtodos e relacionamentos; uma classe especifica a estrutura do objeto sem informar quais so os seus valores; cada objeto corresponde a uma instncia de uma classe. Identificao de classes <-> Substantivos (fsicos ou conceituais)
21
Conceitos de OO
22
Conceitos de OO
Benefcios da abordagem orientada a objetos: Modularidade: Uma vez criado um objeto pode ser passado por todo o sistema; Encapsulamento: Detalhes de implementao ficam ocultos externamente ao objeto; Reuso: Uma vez criado um objeto pode ser utilizado em outros programas; Manutenibilidade: Manuteno realizada em pontos especficos do seu programa (objetos).
23
Classes e Objetos
Objetos so coisas que temos no mundo real e abstramos no mundo virtual para que possamos manipul-los na resoluo de problemas. Um objeto no mundo real sempre possui estado e comportamento, isto , ele possui caractersticas e aes que so pertinentes a sua natureza. Para clarificar nada melhor do que alguns exemplos:
Observe que estado e comportamento, respectivamente, so transformados em dados e procedimentos quando programamos de forma estruturada e atributos e mtodos quando utilizamos orientao a objetos.
Programao Orientada Objetos 24
Diferenas entre PE e OO
A grande dificuldade para compreender a programao OO a diferena de abordagem do problema. Enquanto a programao estruturada tem como principal foco as aes (procedimentos e funes), a programao OO se preocupa com os objetos e seus relacionamentos. Alm do conceito de objeto, a programao OO tem como alicerces os conceitos de encapsulamento, classe, herana e polimorfismo.
Programao Orientada a Objetos Mtodos Instncias de variveis Mensagens Classes Herana Polimorfismo Programao Estruturada Procedimentos e funes Variveis Chamadas a procedimentos e funes Tipos de dados definidos pelo usurio 25