instituto federal de educação, ciência e tecnologia do norte de minas gerais - ifnmg tÉcnicas de...

Post on 17-Apr-2015

109 Views

Category:

Documents

6 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

• TÉCNICAS DE PROGRAMAÇÃO II

• Prof. Marcelo West

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Conteúdo:

•Orientação a Objetos

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Histórico

•SIMULA

▫Anos 60 •  

▫Utilizada para simulações •  

▫Conceitos de Classe e SubClasse

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•SMALLTALK •  

▫Anos 70 •  

▫Desenvolvida pela XEROX •  

▫Primeira linguagem orientada a objetos de fato

•  ▫Cada elemento do SMALLTALK é tratado como

um objeto

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Analogia Biológica•  •Alan Kay, •  

▫Um dos pais do paradigma da orientação a objetos

•  ▫Analogia biológica

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Como seria um sistema de software que funcionasse como um ser vivo?

• •Cada “célula” interagiria com

outras células através do envio de mensagens para realizar um objetivo comum

• 

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Adicionalmente, cada célula se comportaria como uma unidade autônoma

•  •Construir um sistema de software a

partir de agentes autónomos que interagem entre si

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Princípios da Orientação a Objetos•  •Qualquer coisa é um objeto •  •Objetos realizam tarefas através da

troca de mensagens com outros objetos

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Cada objeto pertence a uma determinada classe

•  •Uma classe agrupa objetos similares •  •A classe define as características e

comportamento associado ao objeto

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Programação Orientação a Objetos•  •  •Sistema de software como um conjunto

de agentes interconectados •  •Agentes = Objetos

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Cada objeto é responsável por realizar tarefas específicas

•  •É através da interação entre objetos que

uma tarefa computacional é realizada

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

• Linguagens Orientadas a Objetos•  • Simula•  • Smalltalk•  • C++•  • Object Pascal•  • Java•  • .NET

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Um sistema Orientado a Objetos é uma simulação de um cenário real (vida) ou fictício (filme)

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Para construir sistemas Orientados a Objetos é necessário entender os conceitos por trás do paradigma

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

• Objeto•  

•  • Unidade que utilizamos para representar

abstrações em um sistema computacional •  

• No mundo real objeto é tudo que podemos tocar

•  • No mundo imaginário um objeto é tudo

que podemos representar

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Objeto• •A interação entre estes objetos

formam grupo de objetos mais complexos que agrupado a outros grupos de objetos complexos dão origem ao sistemas reais, como por exemplo o funcionamento de um carro

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Características dos Objetos• •Único • •Possui atributos que definem caraterísticas e/ou estado

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Possuem capacidade de realizar ações que chamamos de métodos ou funções

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Normalmente se diz que um objeto é uma instância de uma Classe.

O que é uma Classe ?

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Classe•  •Estrutura (molde) que define os atributos e/ou estados de um conjunto de objetos com características similares.

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

• Define o comportamento de seus objetos (ações que o objeto pode fazer) através de métodos.

• • Descreve os serviços (ações) providos

por seus objetos

• Quais informações eles podem armazenar

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Atributos de uma Classe• •Caraterísticas e/ou estado de uma

classe • •Após a classe ser instanciada em um

objeto os atributos vão receber valores (caraterísticas e/ou estados) que definem o objeto

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Métodos de uma Classe•  •Conjunto de ações que um determinado objeto pode executar

• •Definem o que um objeto pode fazer

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•São acionados por outros objetos

• ▫Os objetos se comunicam através de métodos

• ▫Troca de mensagens

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Construtor da Classe• • • Método especial definido na classe e executado

no momento que o objeto é instanciado • • Diferente de outro método pois não possui

retorno • •Deve ter o mesmo nome da classe.

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Pode receber parâmetros • ▫Normalmente utilizados para inicializar os valores dos atributos do objeto

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Para representar classes e objetos em modelos computacionais podemos utilizar uma notação chamada UML

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•UML• •Unified Modeling Language • •Linguagem para representação de modelos visuais com um significado especifico e padronizado

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•UML não é uma linguagem de programação • • Os modelos são representados através de

diagramas que possuem semântica própria

•  O diagrama que representa a descrição das classes é o Diagrama de Classes

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Estereótipo de uma Classe em UML•  •  

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Abstração• •  Representa as características que devem

conter em uma classe para atender a um determinado problema

• • Somente as características necessárias para

atender a um determinado problema • • Representação de um determinado ponto de

vista ou abstração do problema

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Para desenvolver aplicações O.O. é necessário identificar os objetos na vida real, extrair a classe que aquele objeto pertence e selecionar os atributos e métodos que serão necessários levando em consideração o modelo computacional que está sendo desenvolvido

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Associações•   • Forma como uma classe se relaciona com outra

classe

• Uma classe pode conter atributos que geram instâncias de outra classe

•  Uma classe pode conter outra classe como atributo

•  Quando isto ocorre dizemos que uma classe possui outra classe associada a ela

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Encapsulamento• •  •Separar o programa em partes, tornando

cada parte mais isolada possível uma da outra

• •A ideia é tornar o software mais flexível,

fácil de modificar e de criar novas implementações

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Permite utilizar o objeto de uma classe sem necessariamente conhecer sua implementação

• •Protege o acesso direto aos atributos de

uma instância fora da classe onde estes foram criados

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Uma grande vantagem do encapsulamento é que toda parte encapsulada pode ser modificada sem que os usuários da classe em questão sejam afetados

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

• Herança•  •  • Capacidade que uma classe tem de herdar as

características e comportamentos de outra classe •  • Classe pai é chamada de superclasse e a filha de

subclasse •  • Em Java só é permitido herdar de uma única classe,

ou seja, não permite herança múltipla

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•O objetivo da herança é especializar o entendimento de uma classe criando novas características e comportamentos que vão além da superclasse

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

•Generalização

•Ao mesmo tempo que a especialização amplia o entendimento de uma classe, a generalização vai no sentido inverso e define um modelo menos especializado e mais genérico

Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais - IFNMG

top related