Upload
neimar-hahmeier
View
7
Download
0
Embed Size (px)
DESCRIPTION
Programacao Orientada a Objeto - Introducao
Citation preview
Programao Orientada a Objeto: Introduo
Professor: Adonai Estrela MedradoData: 22/07/2008
Programao
Programao o ato de fazer um programa.
Um programa conjunto de ordens dadas a um computador para a realizao de um determinado processo (LANCHARRO, LOPEZ e FERNANDEZ, 1991, p. 2).
Envolve o uso de um cdigo (linguagem).Constitui somente uma das etapas no
desenvolvimento de software.Preocupao com a qualidade deve apresentar-
se durante todas as etapas de desenvolvimento.
Programao Orientada a Objeto:Destaques
Programao orientada a objeto no sinnimo de qualidade de software (STROUSTRUP, 1995).
Importante no aprendizado da orientao a objeto:
A aplicao impensada de tcnicas que so eficazes em uma linguagem em outra conduz tipicamente a cdigo mal estruturado, de baixo desempenho e difcil manuteno. (STROUSTRUP, 2000, p. 18).
Programao Orientada a Objeto: Definio
Segundo Stroustrup (1995), uma linguagem orientada a objeto se, e somente se, suporta:AbstraoHeranaPolimorfismo em tempo de execuo
Critrio adicional da pureza:As classes devem ser a nica unidade de
programao (MEYER, 1997).
Abstrao Classes e Objetos
ClassePonto central da
orientao a objeto.Definio: uma
classe um tipo abstrato de dadoequipado com implementao parcial ou total. (MEYER, 1997, p. 165).
ObjetoDefinio: instncia
em tempo de execuo de alguma classe (MEYER, 1997, p. 218).
Abstrao Classes e ObjetosExemplo Visual
Integer
Tipos de Dado
Retngulo
Instncias
10 19
44
25
HeranaExemplo Visual
Uma classe A descendente de B se herda direta ou indiretamente caractersticas de B. (MEYER, 2000).
Retngulo
Tringulo
Compartilham atributos de uma
Figura Geomtrica como
cor de borda, preenchimento e
rea.
PolimorfismoExemplo Visual
rea Tringulo(base x altura) / 2
rea Retnguloaltura x largura
Solicita rea da Figura Geomtrica
Recurso de polimorfismo
retorna a rea do Tringulo ou do
Quadrado conforme o caso.
Descendente deFigura
Geomtrica
Principais Modificadores de Acesso
Classe
Elementos Pblicospublic
Qualquer Classe
Classe Descendente
Elementos Protegidosprotected
Elementos Privadosprivate
Elemento = Dado ou Funo
class Triangulo extends FiguraGeometrica {
private double altura;private double base;
public double getAltura () {return altura;
}public void setAltura (double valor) {
altura = valor;}
public double getBase () {return base;
}public void setBase (double valor) {
base = valor;}
public double calcularArea() {return (getAltura() * getBase()) / 2;
}public Triangulo() {
setAltura(1);setBase(1);
} }
Campos
Construtor
Mtodos
class Retangulo extends FiguraGeometrica {
private double altura;private double largura;
public double getAltura () {return altura;
}public void setAltura (double valor) {
altura = valor;}
public double getLargura () {return largura;
}public void setLargura (double valor) {
largura = valor;}
public double calcularArea() {return getAltura() * getLargura();
}public Retangulo() {
setAltura(1);setLargura(1);
} }
Campos
Construtor
Mtodos
abstract class FiguraGeometrica {
private int corPreenchimento;private int corBorda;
public int getCorPreenchimento () {return corPreenchimento;
}public void setCorPreenchimento (int valor) {
corPreenchimento = valor;}
public double getBorda () {return corBorda;
}public void setBorda (int valor) {
corBorda = valor;}
public abstract double calcularArea(); }
Campos
Mtodos
Criando e Acessando Objetos
FiguraGeometrica minhaFigura;int numeroDecisor;
...
if (numeroDecisor % 2 == 0) minhaFigura = new Triangulo();
elseminhaFigura = new Retangulo();
System.out.print (minhaFigura.calcularArea ());
A palavra new utilizada na criao um objeto.
Pontos Mais Importantes
Aprender a programao orientada a objeto no tem necessariamente como conseqncia um aumento na qualidade do cdigo.
A programao somente uma das fases do desenvolvimento de software.
Classes podem definir a acessibilidade a seus elementos (public, private, protected).
Para se criar um objeto utiliza-se da palavra chave new.
Sugesto de pesquisa: Padres de Projeto (Design Patterns).
Referncias
GAMMA, Erich e et al. Padres de projeto: solues reutilizveis de software orientado a objeto. Porto Alegre: Bookman, 2000.
LANCHARRO, Eduardo Alcalde, LOPEZ, Miguel Garcia e FERNANDEZ, Salvador Peuelas Informtica bsica. So Paulo: Makron Books, 1991.
MEYER, Bertrand. Object-oriented software construction. New Jersey: Prentice Hall PTR, 1997.
STROUSTRUP, Bjarne. Why C++ is not just an Object-Oriented Programming Language. 1995. Disponvel em: Acesso: 20/07/2008
STROUSTRUP, Bjarne. A linguagem de programao C++. Porto Alegre: Bookman, 2000.