Orientação a objetos prof. elisangela karlan

46
Orientação a Objetos Prof. Elisângela Xavier

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

Page 1: Orientação a objetos   prof. elisangela karlan

Orientação a Objetos

Prof. Elisângela Xavier

Page 2: Orientação a objetos   prof. elisangela karlan

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

Page 3: Orientação a objetos   prof. elisangela karlan

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.

Page 4: Orientação a objetos   prof. elisangela karlan

Paradigmas Atualmente

A complexidade A urgêngia e a adaptabilidade dos novos

aplicativos Repensar...

prós e contras dessa abordagem

Page 5: Orientação a objetos   prof. elisangela karlan

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

Page 6: Orientação a objetos   prof. elisangela karlan

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

Page 7: Orientação a objetos   prof. elisangela karlan

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

Page 8: Orientação a objetos   prof. elisangela karlan

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.

Page 9: Orientação a objetos   prof. elisangela karlan

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

Page 10: Orientação a objetos   prof. elisangela karlan

Orientação a Objetos

Introdução:

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

Page 11: Orientação a objetos   prof. elisangela karlan

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...

Page 12: Orientação a objetos   prof. elisangela karlan

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?

Page 13: Orientação a objetos   prof. elisangela karlan

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

Page 14: Orientação a objetos   prof. elisangela karlan

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

Page 15: Orientação a objetos   prof. elisangela karlan

Orientação a Objeto Vantagem na OO

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

Page 16: Orientação a objetos   prof. elisangela karlan

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

representações do mundo real, chamadas de

Page 17: Orientação a objetos   prof. elisangela karlan

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

Page 18: Orientação a objetos   prof. elisangela karlan

OBJETO

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

Page 19: Orientação a objetos   prof. elisangela karlan

OBJETOAo olharmos uma

caneta, independentemente de seu formato ou cor da

tinta, conseguimos identificá-la

Page 20: Orientação a objetos   prof. elisangela karlan

OBJETONa concepção de sistemas, um objeto é

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

Page 21: Orientação a objetos   prof. elisangela karlan

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...

Page 22: Orientação a objetos   prof. elisangela karlan

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

Page 23: Orientação a objetos   prof. elisangela karlan

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...

Page 24: Orientação a objetos   prof. elisangela karlan

ObjetoOs objetos possuem comportamentos que

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

Estamos falando de suas OPERAÇÕES

Page 25: Orientação a objetos   prof. elisangela karlan

OBJETO

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

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

Page 26: Orientação a objetos   prof. elisangela karlan

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...

Page 27: Orientação a objetos   prof. elisangela karlan

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

Page 28: Orientação a objetos   prof. elisangela karlan

OBJETO Exemplo de mensagem

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

Page 29: Orientação a objetos   prof. elisangela karlan

OBJETO

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

Page 30: Orientação a objetos   prof. elisangela karlan

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

Page 31: Orientação a objetos   prof. elisangela karlan

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

Page 32: Orientação a objetos   prof. elisangela karlan

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

Page 33: Orientação a objetos   prof. elisangela karlan

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

Page 34: Orientação a objetos   prof. elisangela karlan

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...

Page 35: Orientação a objetos   prof. elisangela karlan

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...

Page 36: Orientação a objetos   prof. elisangela karlan

OBJETO Atributos

Altura Largura Cor da linha Tipo da linha Cor de preenchimento

Page 37: Orientação a objetos   prof. elisangela karlan

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

trabalhando

Page 38: Orientação a objetos   prof. elisangela karlan

OBJETO Operações

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

Page 39: Orientação a objetos   prof. elisangela karlan

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

Page 40: Orientação a objetos   prof. elisangela karlan

CLASSES Características e operações similares

em objetos distintos Classificação Identificando classes

Page 41: Orientação a objetos   prof. elisangela karlan

CLASSES

nome: Omar Idosexo: masculinodataNasc:

06/06/1966estCivil: casado

Objeto Omar

nome

sexo

dataNasc

estCivil

Classe Pessoaé do tipo

AtributosAtributos

Page 42: Orientação a objetos   prof. elisangela karlan

CLASSES

Classes Objetos

FuncionárioAna CristinaGustavo

EmpresaCasa de Festas BPSoftware Ltda.

Veículo AudiBora

Page 43: Orientação a objetos   prof. elisangela karlan

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

Page 44: Orientação a objetos   prof. elisangela karlan

ENCAPSULAMENTO

Classe como uma caixa

preta

obterIdade

reajustarSalário

calcularFérias

calcularRecisãoInterface da Classe

Page 45: Orientação a objetos   prof. elisangela karlan

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

Page 46: Orientação a objetos   prof. elisangela karlan

POLIMORFISMO

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

Professor

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