Orientação a objetos prof. elisangela karlan

Post on 22-May-2015

705 views 0 download

Transcript of Orientação a objetos prof. elisangela karlan

Orientação a Objetos

Prof. Elisângela Xavier

Paradigmas 1968

Engenharia de SW surge em repulsa à crise de software

Dijkstra – programação estruturada 1978

Codd – modelo relacional Niklaus Wirth – desenvolve Pascal Ritchie – desenvolve C Tom de Marco – populariza Análise Estruturada

Engenharia de Software 

É uma área do conhecimento da computação voltada para a especificação, desenvolvimento e manutenção de sistemas de software aplicando tecnologias e práticas de gerência de projetos e outras disciplinas, objetivando organização, produtividade e qualidade.

Paradigmas Atualmente

A complexidade A urgêngia e a adaptabilidade dos novos

aplicativos Repensar...

prós e contras dessa abordagem

Paradigmas Entrega de sw no prazo Dentro do orçamento Sem falhas Algo a mais!

Histórico da Orientação a Objetos Simula

modelagem de simulações e baseada na ling ALGOL 60

Conceitos de classes, encapsulamento e herança

SmallTalk Surge em 1970 e disponibilizada em 1980 Solidifica conceitos de classes, atributos,

métodos, objetos, encapsulamento, herança e mensagem

Linguagens Orientadas a Objetos Objetive-C – linguagem híbrida C++ - linguagem híbrida Object Pascal – linguagem híbrida Eiffel – 1986 – linguagem pura Java – 1995 - linguagem híbrida

Eiffel

Eiffel é uma Linguagem de Programação avançada, puramente orientada a objeto que enfatiza o projeto e construção de software reusável e de alta qualidade. Toda a estrutura da programação em Eiffel é baseada em classes.

Orientação a ObjetosConceitos de Orientação a Objetos Introdução Objeto Classes Encapsulamento Herança Polimorfismo

Orientação a Objetos

Introdução:

Que características similares você identificaria nesses veículos?

Orientação a Objetos Características similares....

Modelo Cor Fabricante Ano de Fabricação Chassis Placa Tipo de Combustível Número de Portas Etc...

Orientação a Objetos Como se calcula um seguro total para

cada um desses veículos?

Para qual seguradora?

Segurado é do sexo feminino?

Segurado tem garagem?

Orientação a Objeto Até hoje foco da modelagem

concentrou-se nas funcionalidades de um sistema

Módulos distintos atuavam diretamente sobre a base de dados

Orientação a Objeto Quando qualquer alteração é feita

nessas bases, diversos módulos eram afetados

Erros advindos dessas alterações só eram percebidos semanas mais tarde

Orientação a Objeto Vantagem na OO

Podermos abstrair de uma maneira mais fidedigna as situações do dia-a-dia

Orientação a Objeto Esta abstração é feita por

representações do mundo real, chamadas de

Orientação a Objeto Só precisamos voltar a praticar o

conhecimento que possuíamos desde a nossa infância:

Identificar OBJETOS e seus COMPORTAMENTOS, o que possibilita

que sejam CATEGORIZADOS

OBJETO

Exercitamos a percepção de um bebê fornecendo-lhe objetos de cores, texturas ou formas diferentes

OBJETOAo olharmos uma

caneta, independentemente de seu formato ou cor da

tinta, conseguimos identificá-la

OBJETONa concepção de sistemas, um objeto é

qualquer coisa existente no mundo real, em formato concreto ou abstrato.

OBJETOExemplos de objetos:

aluno, professor, mesa, cadeira, caneta, automóvel, disciplina, estoque,

avaliação, seguro, janela do Windows, botão, caixa de diálogo, etc...

ObjetoOs objetos possuem características ou propriedades que são seus ATRIBUTOS

Atributos do objeto Omar

Nome: Omar Ido

Endereço: Rua São Benedito, 13

Sexo: Masculino

Data de Nascimento: 06/06/1966

Altura: 1,75m

Peso: 70 kg

Estado Civil: casado

Cor dos Olhos:.. Castanho

Cor dos Cabelos:  Castanho

Etc...

ObjetoOs objetos possuem comportamentos que

modificam seu estado ou prestam serviços a outros objetos.

Estamos falando de suas OPERAÇÕES

OBJETO

Se um funcionário possui o atributo Salário, este deve

ser atualizado por operações do tipo reajustarSalário

OBJETOAtributos

Nome: Pedro Rocha

Cargo: Gerente

Salário: R$ 6.500,00

Data Admissão: 15/06/2003

etc...

Operações

reajustarSalário

obterSalárioLíquido

obterTempoServiço

etc...

OBJETO

Os métodos de uma classe manipulam as estruturas de dados daquela classe, ou seja, não podem acessar diretamente os dados de outra classe

Uma classe tem conhecimento de outra, pela solicitação de serviços (execução de operações)

Esta solicitação denomina-se MENSAGEM

OBJETO Exemplo de mensagem

Informar a idade do objeto Pedro, chamando a operação calcularIdade

OBJETO

Quando pensamos em um objeto, devemos fazê-lo dentro de um determinado contexto

OBJETO

Devemos abstrair as informações de um objeto dentro do papel que ele exercerá num determinado sistema, ou seja, seu ambiente determinará o limite da modelagem de cada objeto

OBJETO Se pensarmos em todos os atributos

que identificam uma pessoa, chegaremos a um número considerável

Se modelarmos um objeto Pessoa no papel de um aluno não precisaremos incluir atributos do tipo: altura, peso, cor dos olhos, cor dos cabelos, cor da pele e muitos outros

OBJETO Todos os objetos tem IDENTIDADE e são

diferentes um dos outros, pois ocupam espaços distintos.

Identidade significa que os objetos se distinguem por sua própria existência e não pelos valores de seus atributos

OBJETO Exemplo de identidade

Numa linha de montagem são produzidos 100 lápis

Com as mesmas características Mas, possuem identidades diferentes Pois fisicamente são diferentes

OBJETO Atualmente temos uma demanda de

Aplicações Gráficas e é comum a modelagem ou manipulação de objetos como: Janelas Botões Caixa de diálogo Menus Etc...

OBJETO Vamos exercitar nossa capacidade de

abstração...

Pense numa figura geométrica, RETÂNGULO, por exemplo, Vamos identificar atributos e operações

para este objeto...

OBJETO Atributos

Altura Largura Cor da linha Tipo da linha Cor de preenchimento

OBJETO O que determina os atributos de um objeto é o contexto com o qual estamos

trabalhando

OBJETO Operações

Desenhar Pintar Mudar Cor da Linha Mudar Tipo da Linha Redimensionar Mover ...

OBJETO Vocês repararam que essas ações são

quase sempre auto-executáveis? O retângulo não vai desenhar algo O retângulo vai desenhar a si próprio O retângulo conhece melhor do que

ninguém como ser desenhado

CLASSES Características e operações similares

em objetos distintos Classificação Identificando classes

CLASSES

nome: Omar Idosexo: masculinodataNasc:

06/06/1966estCivil: casado

Objeto Omar

nome

sexo

dataNasc

estCivil

Classe Pessoaé do tipo

AtributosAtributos

CLASSES

Classes Objetos

FuncionárioAna CristinaGustavo

EmpresaCasa de Festas BPSoftware Ltda.

Veículo AudiBora

ENCAPSULAMENTO Deve depender da interface

E não da implementação Proteção de seus atributos e algumas

operações Interface serve como intermediária

entre a classe e o mundo externo

ENCAPSULAMENTO

Classe como uma caixa

preta

obterIdade

reajustarSalário

calcularFérias

calcularRecisãoInterface da Classe

HERANÇA

Classe Pessoa atributos: nome, endereço, sexo operações: calcularIdade

Classe Aluno atributos: matrícula, curso operações: matricularAluno

Classe AlunoEscTecnica atributos: notaVestibular

POLIMORFISMO

FuncionáriocalcularSalário(mêsReferência: integer)

Professor

calcularSalário(mêsReferência: integer)