Está en la página 1de 13

Modelo Orientado a Objetos

Un modelo representa un arquetipo o punto de referencia para imitarlo


o reproducirlo. En programación un modelo es una abstracción de un
objeto, sistema o idea. El propósito de los modelos es ayudarnos a explicar,
entender o mejorar un sistema. Un modelo de un objeto puede ser una
réplica exacta de éste o una abstracción de las propiedades dominantes del
objeto.
Para entender el modelo orientado a objetos hay que revisar 5
conceptos básicos que son:

• Objetos
• Clases
• Comportamientos
• Mensajes
• Diagrama de clases Básico

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

POO 2
Modelo Orientado a Objetos
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?. Un objeto del
mundo real es cualquier elemento que vemos o percibimos a nuestro
alrededor.
Ejemplo: una silla, una mesa, una persona, un banco ambos son objetos, al
igual que nuestro teléfono celular, un árbol o un automóvil.

POO 3
Modelo Orientado a Objetos
Objetos
Analicemos un poco más a un objeto del mundo real, como la
computadora. No necesitamos ser expertos en hardware para saber que
una computadora está compuesta internamente por varios componentes: la
tarjeta madre, el chip del procesador, un disco duro, una tarjeta de video, y
otras partes más. El trabajo en conjunto de todos estos componentes hace
operar a una computadora.
Internamente, cada uno de estos componentes puede ser sumamente
complicado y puede ser fabricado por diversas compañías con diversos
métodos de diseño. Pero nosotros no necesitamos saber cómo trabajan
cada uno de estos componentes, como saber que hace cada uno de los
chips de la tarjeta madre, o cómo funciona internamente el procesador.
Cada componente es una unidad autónoma, y todo lo que necesitamos
saber de adentro es cómo interactúan entre sí los componentes, saber por
ejemplo si el procesador y las memorias son compatibles con la tarjeta
madre, o conocer donde se coloca la tarjeta de video.
Cuando conocemos como interaccionan los componentes entre sí,
podremos armar fácilmente una computadora.

POO 4
Modelo Orientado a Objetos
Objetos
¿Que tiene que ver esto con la programación? La programación orientada a
objetos trabaja de esta manera.
Todo programa está construido en base a diferentes componentes
(Objetos), cada uno tiene un rol específico en el programa y todos los
componentes pueden comunicarse entre ellos de formas predefinidas.

Todo objeto del mundo real tiene 2 componentes: características y


comportamiento.

Por ejemplo:
Los automóviles tienen características (marca, modelo, color, velocidad
máxima, etc.) y comportamiento (frenar, acelerar, retroceder, llenar
combustible, cambiar llantas, etc.).

Características Comportamientos
Ø Marca Ø Frenar
Ø Modelo Ø Acelerar
Ø Color Ø Retroceder
Ø Velocidad Ø Virar
POO 5
Modelo Orientado a Objetos
Objetos
Los Objetos de programación, al igual que los objetos del mundo real,
también tienen características y comportamientos. Un objeto de software
mantiene sus características en una o más "variables", e implementa su
comportamiento con "métodos". Un método es una función o subrutina
asociada a un objeto.
Automovil

marca : String
modelo: String
color: String

frenar(): void
acelerar(): void
virar(): void

Para completar estos conceptos, veamos el siguiente ejemplo: imaginemos


que tenemos un automóvil Kia Rio color azul que corre hasta 260 km/h. Si
pasamos ese objeto del mundo real al mundo del software, tendremos un
objeto Automóvil con sus características predeterminadas:

POO 6
Modelo Orientado a Objetos
Objetos
características predeterminadas del objeto :
Marca = Kia
Modelo = Rio
Color = Azul
Velocidad Máxima = 260 km/h
Cuando a las características del objeto le ponemos valores, decimos
que el objeto tiene estados. Las variables almacenan los estados de un
objeto en un determinado momento.
Los objetos generalmente se ubican en las siguientes categorías:
§ Cosas Tangibles: Avión, auto, producto, insumo.
§ Roles : gerente, cliente, vendedor, auxiliar, empleado.
§ Organizaciones o entidades: Empresa, colegio, proveedor.
§ Cosas intangibles: Vuelos, Servicios, Materias, programas

Definición teórica: Un objeto es un concepto, abstracción u cosa de la


realidad que tiene un significado concreto y claro para el problema que se
está modelando.

POO 7
Modelo Orientado a Objetos
Atributos
Son atributos de un objeto cualquier característica o propiedad de ésta.
Los atributos son datos o variables específicos de un objeto. En la definición
de clase se indica cuales son los atributos y con que nombre se va a
designar a cada uno de ellos
Ejemplo :
Objeto : Libro
Atributos: titulo ,autor, fecha edición, número paginas,
cantidad copias, etc.

Los atributos también son porciones de información que un objeto


posee o conoce de sí mismo. Una clase puede tener cualquier número de
atributos o no tener ninguno. Se declaran con un identificador y el tipo de
dato correspondiente. Además los atributos tienen asociado un modificador
que define su visibilidad

POO 8
Modelo Orientado a Objetos
Comportamiento
El comportamiento de un objeto está directamente relacionado con su
funcionalidad y determina las operaciones que este puede realizar o a las
que puede responder ante mensajes o solicitudes enviados por otros
objetos. La funcionalidad de un objeto está determinada, primariamente, por
su responsabilidad.

Se entiende, entonces, que un comportamiento es una acción que se


puede realizar con un objeto determinado, el que está implementado por la
clase y que tiene acceso a todos los componentes de dicha clase.
Por ejemplo:
Clase Ropa
Comportamientos:
• Lavarla Los comportamientos se denominan
• Usarla Métodos, y son quienes tienen acceso
• Comprarla directo a los atributos de la clase,
• Confeccionarla pudiendo mostrar el contenido del
• Repararla. atributo, cambiar el contenido del
atributo o manipularlo con operadores.

POO 10
Modelo Orientado a Objetos
Mensajes entre objetos
Un objeto por si solo no tiene mucho significado, si no interactúa con
otro objeto. Esta interacción entre objetos se produce mediante mensajes;
estos mensajes son llamados a métodos de un objeto en particular.

Ejemplos:
• El objeto persona envía el mensaje “girar a la derecha” al objeto
bicicleta.

• La clase Venta se encarga de mantener la estructura de las ventas de


los artículos y para ello necesita saber dos cosas: algún Identificador de un
Artículo, y su precio de venta.

En la forma más sencilla un mensaje es una orden que envía un objeto


a otro. Un mensaje puede ser una función, un procedimiento, un evento...
lo importante es saber que un objeto A necesita enviar una orden a un
objeto B porque A delega esta responsabilidad en B.

POO 11
Modelo Orientado a Objetos
Clases
Las clases son declaraciones de objetos, también se podrían definir
como abstracciones de objetos. Esto quiere decir que la definición de un
objeto es la clase en sí. Cuando programamos un objeto y definimos sus
características y funcionalidades en realidad lo que estamos haciendo es
programar una clase. Por tanto una clase es un molde de un concepto que
plasmamos en cada objeto que se crea de ella.

Teóricamente la clase es un modelo, plantilla o prototipo, que define los


atributos y métodos comunes a todos los objetos de cierta clase. También
se puede decir que una clase es una plantilla genérica para un conjunto de
objetos de similares características.

Ejemplos:

1- Un molde para hacer flanes; el molde es la clase y los flanes los


objetos.

POO 12
Modelo Orientado a Objetos
Clases
Ejemplos:
2- Las cartas de una baraja. Cada objeto de esta clase es distinto,
pero todos ellos reúnen una serie de atributos comunes. Todas
están identificadas por un número o una letra, pertenecen a un
grupo, etc. A su vez, existen varias operaciones que también son
comunes a todas ellas: pueden ser repartidas, descartadas.

Ejemplo de clase:
public class Persona
{
//Atributos
}

POO 13

También podría gustarte