Os conceitos fundamentais da orienta¸c˜ao por objetos, estendem-se tam- b´em `a an´alise e ao projeto orientado por objetos.
A seguir apresentam-se os principais conceitos da orienta¸c˜ao por objetos conforme Boratti(2002), Morais (2007) e Retamal (2005a) e .
Objeto
Termo que se refere a qualquer entidade que represente algum significado, mesmo que n˜ao se constitua de algo concreto ou palp´avel. ´E a informa¸c˜ao em mem´oria e segue as regras definidas pela classe que o criou.
Classe
Conjunto de informa¸c˜oes que modelam o objeto. A classe n˜ao ocupa espa¸co em mem´oria e n˜ao tem dados espec´ıficos do programa e possui apenas as regras que ir˜ao definir o comportamento de um objeto.
Abstra¸c˜ao
Princ´ıpio de ignorar os aspectos de um assunto n˜ao relevantes para o pro- p´osito em quest˜ao, o que torna poss´ıvel uma concentra¸c˜ao maior nos assuntos principais.
Encapsulamento
Cada componente do programa deve conter uma ´unica decis˜ao de projeto, isto ´e, um agrupamento de aspectos relacionados a uma id´eia ou entidade. Al´em disso, a interface para cada m´odulo ´e definida de forma a revelar o me- nos poss´ıvel sobre o seu funcionamento interno, implementando a oculta¸c˜ao
de informa¸c˜ao. Se for necess´ario fazer alguma altera¸c˜ao dentro da “c´apsula” o mundo exterior n˜ao precisa ser alterado como conseq¨uˆencia de tal altera¸c˜ao.
Identidade
Um objeto distingue-se de outro pelo simples fato de existir e sua identi- dade independe dos valores de seus atributos. Ao serem alocados na mem´oria do computador, dois objetos, embora possam ter todos os atributos iguais, seus endere¸cos de mem´oria s˜ao diferentes.
Heran¸ca
Expressa a similaridade entre classes, simplificando a defini¸c˜ao de classes iguais e outras que j´a foram definidas (reutiliza¸c˜ao de c´odigo).
Polimorfismo
A capacidade de uma mensagem ser entendida e executada de forma diferente por objetos distintos. ´E tamb´em a possibilidade de se manipular objetos mais especializados como se fossem objetos mais gen´ericos.
Associa¸c˜ao
Uni˜ao ou conex˜ao de id´eias. Agrupar certas coisas que acontecem em algum ponto no tempo ou sob circunstˆancias similares. Al´em das associa¸c˜oes simples, tamb´em podemos ter composi¸c˜oes e agrega¸c˜oes.
11.2.1 Tipos B´asicos de Objetos
Normalmente, independente do dom´ınio do problema, encontraremos quatro tipos b´asicos de objetos em todos eles. Esses quatro tipos b´asicos
s˜ao chamados de arqu´etipos e s˜ao definidos pela Unified Modeling Language
- UML.
Momento-Intervalo
Representa algo que necessita ser registrado, por raz˜oes de neg´ocio ou at´e mesmo legais, que ocorrem em algum momento no tempo ou durante um intervalo de tempo. S˜ao atividades, eventos e servi¸cos. ´E identificado pela cor rosa.
Pessoas, lugares ou coisas
Representa uma pessoa (f´ısica ou jur´ıdica), um certo local (endere¸co, casa, privado, p´ublico) ou algum objeto, geralmente concreto. ´E identificado pela cor verde.
Papel ´
E a representa¸c˜ao de um papel que ´e desempenhado por alguma pessoa, lugar ou coisa em um determinado evento do neg´ocio (momento-intervalo).
´
E mais comumente aplicado a pessoas, mas ´e poss´ıvel utiliza-lo com lugares e at´e mesmo com coisas. Sua cor ´e o amarelo.
Descri¸c˜ao
Define as caracter´ısticas de uma determinada coisa, lugar ou at´e mesmo pessoas, apesar de menos comum, como um item em um cat´alogo. Usado para concentrar dados comuns a diversos objetos, aparece na cor azul.
12
LINGUAGEM DE PROGRAMA ¸C ˜AO
Uma linguagem de programa¸c˜ao ´e um m´etodo padronizado para expres- sar instru¸c˜oes para um computador. Uma linguagem permite que um progra- mador especifique precisamente sobre quais dados um computador vai atuar, como estes dados ser˜ao armazenados ou transmitidos e quais a¸c˜oes devem ser tomadas sob v´arias circunstˆancias. Pode-se citar, pela sua ampla utiliza¸c˜ao, as linguagens de programa¸c˜ao:
• C++ ( lˆe-se ”cˆe mais mais”), amplamente utilizada em desenvolvimento de sistemas opercaionais (tais como Windows e Linux), em aplicativos
desktop e tamb´em em sistemas microprocessados na ´area de automa¸c˜ao
industrial.
• Java - ´e uma linguagem de programa¸c˜ao completamente orientada a ob- jetos e tornou-se popular pelo seu uso na internet. Por esse motivo, sua aplica¸c˜ao vem crescendo a cada dia nas mais diversas plataformas. Por ser uma linguagem completamente orientada a objetos , praticamente n˜ao se consegue programar apenas de forma estruturada em Java como se faz em outras linguagens,
• Object Pascal - O lan¸camento do DELPHI em 1995 deu um novo est´ı- mulo do uso do Pascal, pois ele ´e um ambiente de programa¸c˜ao base- ado nessa linguagem e n˜ao uma nova linguagem de programa¸c˜ao. Al´em disso, o Delphi implementa novos recursos, notadamente na parte de classes e objetos, e, devido a eles e aos novos tipos de dados agregados ao sistema, o Pascal do Delphi ´e conhecido como Object Pascal.
12.1
DELPHI
O Delphi ´e uma das melhores combina¸c˜oes de programa¸c˜ao orientada a objetos e programa¸c˜ao visual para Windows. Em uma ferramenta de pro- grama¸c˜ao visual como o Delphi, o papel do ambiente `as vezes ´e ainda mais importante do que a linguagem de programa¸c˜ao em si, pela facilidade e ra- pidez de desenvolvimento.
O nome Delphi ´e inspirado na cidade de Delfos, o ´unico local na Gr´ecia antiga em que era poss´ıvel consultar o Or´aculo de Delfos. O nome deve-se ao fato de que os desenvolvedores do compilador buscavam uma ferramenta capaz de acessar o banco de dados Oracle - da´ı um trocadilho comum entre programadores em Delphi: ”a ´unica maneira de acessar o or´aculo ´e usando Delphi”.
A linguagem utilizada pelo Delphi, o Object Pascal (Pascal com exten- s˜oes orientadas a objetos) a partir da vers˜ao 7 passou a se chamar Delphi
Language.
13
METODOLOGIA
O desenvolvimento do software para calcular a carga de incˆendio se deu por meio das etapas descritas a seguir.