• Nenhum resultado encontrado

orientaçãoaobjetos

N/A
N/A
Protected

Academic year: 2021

Share "orientaçãoaobjetos"

Copied!
6
0
0

Texto

(1)

Introdução sobre

Orientação a

Objetos



Formado por vários tipos de objetos (“coisas”)

Mundo Natural



Os objetos (“coisas”) podem ser agrupados em

função de características semelhantes

Conjuntos de Objetos

Orientação a Objetos



Conceito:

No mundo real, tudo é objeto!

Os objetos se relacionam entre si de diversas maneiras

O mundo é “Orientado a Objetos"



Definição: É um paradigma para o

desenvolvi-mento de aplicações, ou seja, é uma estratégia

de desenvolvimento de software que organiza o

software como uma coleção de objetos do

mundo real que contém tanto a estrutura dos

dados como o comportamento



Características:

Forma natural de enxergar a realidade Forma natural de modelar

Forma natural de codificar

Orientação a Objetos



Propostas da técnica de Orientação a Objetos:

Reusabilidade

de código

de objetos encapsulados componentes

Manutenibilidade

mudanças bem localizadas, não acarretando propagações

descontroladas Confiabilidade

devido ao encapsulamento, que torna as estruturas de dados

privado aos objetos. Extensibilidade

aumento da produtividade com a agregação de funções

(2)



Análise Orientada a Objetos: O objetivo do

paradigma de orientação a objeto é representar,

em software, objetos supostamente existentes

no mundo real, utilizando, para isso a

incorpo-ração de “ações” (comportamento) e “dados”

(características)



Técnicas de Análise: Apresenta um conjunto de

regras e modelos que auxiliam o Engenheiro de

Software levantar e modelar os requisitos dos

usuários que o sistema deve atender

Orientação a Objetos



Definição: Qualquer coisa existente no mundo

real, em formato concreto ou abstrato, ou seja,

que exista fisicamente ou apenas

conceitual-mente



Características Principais:

Identidade Estado Comportamento

Objetos

Coisas Concretas (Exemplo: Muro) Coisas Abstratas (Exemplo: Curso)

 Concretos (pessoa, lápis, carro, relógio, etc...)  Abstratos (hora, idéia, organização, projeto, etc...)

 Papel (médico, paciente, professor, aluno, etc...)  Relacional (casamento, parceira, propriedade,

etc...)

 Evento (venda, admissão, pane_no_sistema, etc...)

 Elementos de Interface (janela, ícone, string de

caracteres, etc...)

 Etc...

Tipos de Objeto

Exemplo de Objeto: Lâmpada Incandescente

Orientação a Objetos

Todo (lâmpada)

formado pela

composição de

outras Partes

(elementos)



Exemplo de Objeto:

Um computador é formado por vários

componentes: CPU, placa-mãe, memórias, etc...

Cada componente é bastante sofisticado, mas o usuário não precisa saber como funciona internamente

Cada componente é independente dos demais

Para quem está montando, interessa apenas como os componentes interagem entre si:

A placa de vídeo encaixa no slot?

O monitor funciona com essa placa? A CPU é compatível com a placa-mãe?

(3)

Representação de Objetos

Atributos

(Privado)

Operações

(Público)

Atributos: Cor,

Potência, Tensão, Tipo

Operações: Liga(),

Desliga(), Aumenta_Brilho(), Diminui_Brilho()

Representação de Objetos

Exemplo de Objeto: Lâmpada

Incandescente

 Atributo: É uma característica ou propriedade particular

possuída por todos os Objetos de uma Classe e assume valores específicos para cada Objeto

 Métodos ou Operações: São as atividades que os

Objetos sabem realizar, sendo que elas modificam os

seus estados e/ou prestam serviços a outros objetos

 Mensagem: Mecanismo de invocação (solicitar ou

executar um serviço) de uma Operação

 Abstração: Ato de definir um objeto conceitual a partir de

Objetos do mundo real que possuam as mesmas

carac-terísticas e comportamento, podendo ser classificados como pertencentes a um mesmo tipo

Conceitos da OO

 Classe: Abstração de um conjunto de Objetos do mundo

real que possuem tipos de características e de compor-tamento em comum (“fábrica de objetos”)

Classe: Especifica a estrutura de um objeto sem informar seu quais serão seus valores

Objeto: Corresponde à ocorrência (instância) de uma classe num determinado momento

 Instância: Representa cada ocorrência de um Objeto

formado a partir de uma Classe

 Parâmetro: Representa um ou mais Atributos

carrega-dos dentro de uma Operação ou Mensagem

Exemplo: Inclui.Aluno (Matrícula)

Conceitos da OO



Uma classe determina um conjunto de objetos com:

propriedades semelhantes

comportamentos semelhantes

relacionamentos comuns com outros objetos 

Exemplo:

Classe:

Identificação: Lâmpada

Atributos: Cor, Potência, Tensão, Tipo Métodos: Liga(), Desliga()

Objetos:

Instâncias: Lâmpada Incandescente, Lâmpada Fluorescente,

Lâmpada de Descarga Gasosa, etc...

Conceitos da OO

Exemplo de Instâncias de Classe: Lâmpada

(4)

 Estado: Condição ou situação na vida de um objeto

durante a qual ele satisfaz a algum estado, realiza alguma atividade ou aguarda algum evento

 Transição de Estados: Relacionamento entre dois

estados, indicando que um objeto no primeiro estado realizará certas ações e entrará no segundo estado quando um evento especificado ocorrer e as condições especificadas estão satisfeitas

 Encapsulamento: Ato de reunir as características e o

comportamento dos Objetos de uma Classe, minimizan-do as interdependências entre elas

Conceitos da OO

Estado: Fechado Estado: Aberto Método: Abrir.Livro()

Conceitos da OO

Abstração

Estado

 A interface (normalmente pública) de um objeto declara

todas as operações permitidas (métodos)

 Todo o acesso aos dados é feito através da chamada de

um método definido pelo objeto

 As mudanças na implementação interna do objeto (que

preservem a sua interface externa) não afetam o resto do sistema

 O encapsulamento protege os objetos de terem seus

atributos alterados ou corrompidos por outros objetos e facilita a criação de interações entre as classes

 Para invocar um método, deve-se enviar uma

mensa-gem para o objeto desejado e:

identificar o objeto que receberá a mensagem identificar o método que o objeto deverá executar passar os argumentos requeridos pelo método

Características da OO

Objetos interagem e se comunicam através de mensagens... Emissor (Cliente) Receptor (Servidor) Mensagem

Mensagens

...as mensagens identificam os métodos a serem executados no objeto receptor. Emissor (Cliente) Receptor (Servidor) Mensagem

Métodos



O que é um programa em uma linguagem

Orientada a Objetos?

Conjunto de objetos que se comunicam entre si

(indicação das operações e envio / recepção dos dados) através de mensagens

Cada um dos objetos possui uma tarefa a cumprir Cada um dos objetos oferece um serviço ou realiza

uma ação que é usada por outros membros

(5)

Noções sobre a

UML



Definição: A UML (Unified Modeling Language –

Linguagem de Modelagem Unificada) é uma

linguagem gráfica para visualização,

especifica-ção, construção e documentação de sistemas

complexos de software, que permite representar

os seus conceitos através do paradigma da

orientação a objeto



Exemplo:

Classe “Aluno”:

Atributos: Matrícula, Nome, Data de Nascimento, Data de

Matrícula (date), Valor da Mensalidade

Métodos: Matricular Aluno, Reajustar Mensalidade, Trancar

Matrícula, Emitir Boleto de Pagamento

Noções sobre a UML

Professor: Sergio Akio Tanaka Slide:28/51



Representação da Classe “Aluno” em UML:

Noções sobre a UML



Herança:

Representa a propriedade pela qual uma classe pode

herdar características e comportamento de uma outra classe

A classe filha herda a interface da classe pai Normalmente identifica-se a possibilidade de herança

através da expressão: é um tipo de



Composição:

Uma classe pode auxiliar na formação de uma outra

classe (conjunto de classes)

Normalmente identifica-se a possibilidade de

composição através de expressões: composto por,

formado por, possui e contém

Noções sobre a UML

Pessoas Nome Endereço Telefone Cria() Elimina() Recupera() Atualiza() Fornecedor CNPJ Cria() Elimina() Recupera() Atualiza() Cliente CPF Cria() Elimina() Recupera() Atualiza()

Herança Simples

Professor: Sergio Akio Tanaka Slide:31/51

Veículo Veículo terrestre Veículo aquático Veículo anfíbio

Herança Múltipla

(6)

Carro Roda Motor Lataria 4 1 1

Composição

 Diagrama de Classes Visão estática do sistema

Exibe um conjunto de classes, interfaces e seus relacionamentos

 Diagrama de Interação

Ilustra a implementação dinâmica do sistema

Mostra uma interação, envolvendo troca de mensagens entre objetos (classes)

 Diagrama de Seqüência

Diagrama de interação que enfatiza o ordenamento das mensagens

 Diagrama de Atividades

Semelhantes aos antigos fluxogramas

Muito usados para modelar atividades concorrentes

 Outros Diagramas: Estado, Componentes, Implantação,

Casos de Uso, Colaboração, etc...

Exemplos de Diagramas



Dia – http://www.lysator.liu.se/~alla/dia/



ArgoUML – http://www.argoUML.tigris.org

Referências

Documentos relacionados

Enquanto as moças com harpas prateadas tocavam a música mais doce, a princesa, cuja voz era ainda mais doce do que qualquer música, chamava o príncipe pelo nome, e seu

O problema de como garantir a autenticidade do acesso do usuário de sites de ensino à distância levou a uma busca de soluções que pudessem atender as exigências

● Arquiteturas de software são especificadas através de uma ou mais de suas visões.. Três

• The definition of the concept of the project’s area of indirect influence should consider the area affected by changes in economic, social and environmental dynamics induced

Por ter esse entendimento de como um meio de comunicação po- de propagar diversos conteúdos, entre eles a representação da ideologia, nos próximos tópicos tentaremos explanar um

Nas leituras de falhas efetuadas, foram obtidos códigos de anomalia por meio de dois diferentes protocolos de comunicação: o ISO 14230 KWP (2000) e o ISO 15765-4 CAN. A seguir, no

Em relação ao perfil dos pesquisados, verifica-se que os respondentes são pessoas altamente qualificadas (60,8% tem formação lato sensu/MBA) e que esse não é

Comitê Externo de Avaliação dos seguintes Projetos de Pesquisa e Extensão, nas áreas de Tecnologia e Produção/Ciências Agrárias/Trabalho/Ciências da Sáude :``Estudo da geração