Requisitos
Aula 01 – Introdução OO
Cronograma
Historico OO
OO Conceito
Objetos
Classes
Atributos
Métodos
Encapsulamento
Mensagens
Histórico – Orientação a Objetos
Origem na linguagem SIMULA-67 (década de 60 Noruega), que já implementava alguns conceitos da OO.
Smaltalk-72 e 80, criada pela Xerox, popularizou e incentivou a OO.
Outras linguagens OO: C++, Object Pascal (Delphi), C#,
Python, Java ...
Java (déc. 90) popularizou a Orientação a Objetos
Histórico – Crise do Software
A crise do desenvolvimento do software (déc. 60):
• Demanda muito superior à capacidade de desenvolvimento;
• Qualidade insuficiente dos produtos;
• Estimativas de custo e tempo raramente cumpridas nos projetos. Surge a Engenharia de Software:
• Busca organizar esforços no desenvolvimento de ferramentas, metodologias e ambientes de suporte ao desenvolvimento de software
Histórico – Atualmente
Realidade Atual:
• Sistemas de alta complexidade;
• Ferramentas de desenvolvimento drasticamente diferentes de 20 anos atrás.
• Sistemas maiores, mais complexos e mais voláteis.
A
mudança para alcançar produtividade está na...
a
qualidade
e
Histórico
REUTILIZAÇÃO!!!
Orientação a Objetos
• É um paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos.
Orientação a Objetos
Filosofia principal:
• Solucionar um problema (via programação) através da representação computacional dos objetos existentes nesse problema (objetos do mundo real, sejam reais ou abstratos). • Sistema OO = Coleção de Objetos que interagem entre si (mensagens).
Ex:
Problema: Imprimir
Objetos: Computador -> impressora
Comparativo: Tradicional x OO
Tradicional
OO
Dados, variáveis
Atributos
Chamadas a funções ou procedimentos Mensagens
Funções ou procedimentos
Métodos
Estruturas de dados (ex.:
Record)
Classe