01 Introducao A Poo
Orientada a Objetos
Alberto Costa Neto
DComp - UFS
1
Motivação
Qual o objetivo da disciplina
Programação Imperativa?
Ensinar conceitos e métodos para usar
Linguagens imperativas (Pascal, C, ...) de maneira efetiva
Quais seriam esses conceitos?
Conceitos fundamentais: variáveis, comandos e expressões
Outros conceitos importantes: tipos, tipos estruturados, recursão, apontadores.
Mais um conceito essencial: subprogramas
2
Motivação
O objeto do estudo desta disciplina é a
Programação Orientada a Objetos (POO)
Paradigma OO
Construído acima da Programação Imperativa
Novos conceitos: Objetos, Classes, Herança,
Subtipos, Polimorfismo
Quais são as linguagens POO mais populares? 3
Motivação
Usando uma Linguagem Imperativa...
Como você implementaria um programa cujo objetivo é imprimir uma nota fiscal de uma compra?
4
Motivação
O que é um “objeto”?
O mundo é formado por objetos
Exemplos de objetos...
Abstração real
Computador
Porta
Cadeira (fixa, móvel)
Pessoas
...
Objetos têm propriedades e comportamento
Quais as propriedades e comportamento dos exemplos? 5
Motivação
E “classe”?
Descreve um molde que especifica atributos e comportamentos compartilhados por um tipo de objeto. 6
Motivação
Então, uma solução para a Nota Fiscal usando uma linguagem OO seria...
7
Motivação
Destacando algumas características da
POO:
Procedimentos e dados estão juntos
Permite a criação de novos tipos
Permite a extensão de tipos
Tipos são compartilhados
Fluxo de controle colaborativo
8
Motivação
As linguagens OO já existem desde a década de 60, por que somente desde a década de 90 estão sendo aplicadas?
Linguagens de sucesso
Aposta da indústria de software
9
Motivação
Por que usar a POO?
Abstração natural
Manutenção mais Simples
Extensível
Reutilizável
Confiável
Oportuno
10
Motivação
Armadilhas da POO
Para programar OO