Escolar Documentos
Profissional Documentos
Cultura Documentos
Programacin Orientada a
Objetos (POO)
Programacin Lineal
Desventajas de la Programacin
lineal
Los lenguajes basados en esta forma de
programacin
ofrecan
ventajas
al
principio, pero el problema ocurre cuando
los sistemas se vuelven complejos.
Estos
programas escritos al estilo
espaguetti no ofrecen flexibilidad y el
mantener una gran cantidad de lneas de
cdigo en slo bloque se vuelve una tarea
complicada.
Programacin Estructurada
Frente a esta dificultad aparecieron los
lenguajes basados en la programacin
estructurada.
La idea principal de esta forma de
programacin es separar las partes
complejas del programa en mdulos o
segmentos
que
sean
ejecutados
conforme se requieran.
Programacin Estructurada
Programacin Estructurada
Programacin Estructurada
Programacin Estructurada
Para estas necesidades ya no bastaba la
programacin estructurada ni mucho
menos la programacin lineal.
Es as como aparece la programacin
orientada a objetos (POO).
interesante de la POO es
que proporciona conceptos y
herramientas con las cuales se
modela y representa el mundo
real tan fielmente como sea
posible.
1. Objetos
Entender que es un objeto es la
clave para entender cualquier
lenguaje orientado a objetos.
Existen muchas definiciones que se
le ha dado al Objeto. Primero
empecemos entendiendo qu es un
objeto del mundo real.
1. Objetos
Un objeto del mundo real es cualquier
cosa que vemos a nuestro alrededor.
Digamos que para leer este artculo lo
hacemos a travs del monitor y una
computadora, ambos son objetos, al
igual que nuestro telfono celular, un
rbol o un automvil
1. Objetos
Un Objeto representa una entidad del
mundo real o inventada, concreta o
conceptual.
Es un concepto, una abstraccin o algo
que dispone de unos lmites bien definidos
y tiene una significacin para el sistema
que se pretende modelar.
1. Objetos
Un objeto tiene estado, exhibe algn
comportamiento bien definido y tiene una
identidad nica.
Todo lo que un objeto conoce est
representado en sus atributos (variables y
estado actual), y todo lo que puede
realizar est definido en sus mtodos
(comportamiento), y en sus interacciones
con otros objetos a travs del intercambio
de mensajes (dinmica del ciclo de vida).
Arquitectura de una PC
El objeto Automvil
2. Las Clases
2. Las Clases
2. Las Clases
El Objeto Celular
2. Las Clases
2. Las Clases
A
2. Las Clases
Esto mismo se aplica a los objetos de
software, se puede tener muchos objetos
del mismo tipo y mismas caractersticas.
Definicin terica: La clase es un
modelo o prototipo que define las
variables y mtodos comunes a todos
los objetos de cierta clase. Tambin se
puede decir que una clase es una
plantilla genrica para un conjunto de
objetos de similares caractersticas.
2. Las Clases
Para qu sirve una clase?
Bueno una definicin de clase sera
que es una representacin abstracta
de un objeto, pero esto nos deja con
bastantes interrogantes,
2. Las Clases
2. Las Clases
Ms
2. Las Clases
Ms
2. Las Clases
Ejemplo:
class Casa
{
decimal Altura;
decimal Ancho;
decimal Profundidad;
string Color;
void Entrar();
void Salir();
}
2. Las Clases
Ahora tenemos un ejemplo mas formal de
lo que sera una clase, en este ejemplo
declaramos una clase llamada Casa.
Una Casa en la vida real tiene diversas
caractersticas o "Atributos", la clase
guarda dentro de si tanto los atributos de
la Casa como la forma en que se
comportar.
2. Las Clases
Dicho comportamiento define como
reaccionara ante otras clases.
Una vez que se ha definido la clase Casa
TODA clase que heredase de ella tendra
todas las caractersticas de nuestra Casa
original.
Objetos
Un objeto es la consolidacin de una
clase, retomando el ejemplo de la casa,
deciamos que los planos de la Casa serian
la Clase casa, es decir la representacin
abstracta del objeto miCasa
Pero para que podamos utilizar la clase
Casa necesitamos instanciarla.
La instancia es el proceso de construir
la Casa.
Instancia
Por
Instancias
Definicin Terica:
Una instancia es un objeto de una
clase en particular.
Instancias
Quizs
Instancias
Instancias
Pero porque usamos new y los ()?
Bueno, porque en el caso de los
enteros(int) simplemente contienen un
dato y no hacen nada mas son simples
contenedores.
Sin embargo las clases que a nosotros
nos interesan y que son las que
estaremos creando deben actuar de
distintas maneras, ya sea leyendo bases
de datos, actualizando paginas web,
realizando operaciones matemticas, etc..
Instancias
Es por esto que se utiliza el operador new
Eso nos permite mandarle datos a la
clase que hemos creado.
Instancias
Estos parmetros de entrada provocan
que el objeto "reaccione" realizando una
serie de acciones, como por ejemplo,
publicar la casa en un sitio web de venta
de casas,
Es un ejemplo sencillo, pero que nos da
una idea de como reaccionan los objetos.
3. Herencia
3. Herencia
3. Herencia
3. Herencia
En el grfico vemos 2 Clases ms que
posiblemente necesitemos para crear
nuestro Sistema.
Esas 2 Clases nuevas se construirn a
partir de la Clase Celular existente. De esa
forma utilizamos el comportamiento de la
SuperClase.
Jerarqua de Clases
4. Envo de Mensajes
Un
1. Abstraccin
1. Abstraccin
En
1. Abstraccin
Por ejemplo, en Java tenemos:
public class Automovil
{
// variables
// mtodos
}
2. Encapsulamiento
El
2. Encapsulamiento
3. Ocultamiento
Es
3. Ocultamiento
3. Ocultamiento