Anda di halaman 1dari 6

¿QUÉ ES POO?

La Programación Orientada a Objetos (POO) no es más que un nuevo paradigma de


programación. Tomando en cuenta que la Real Academia de la Lengua Española (RAE),
define como paradigma: "una teoría
o conjunto de teorías cuyo núcleo central se acepta sin cuestionar y
que suministra la base y modelo para resolver problemas y avanzar en el conocimiento."
(RAE, 2015), el paradigma de la programación orientada a objetos es una forma diferente de
programar, un modelo a seguir para solucionar problemas a través de la informática.
La POO tiene como su más importante característica la reutilización del código, mismo que
debe ser simple y lo suficientemente comprobado antes de estar disponible para ser
utilizado. Por la misma razón, debe ser simple y resolver un problema específico, es decir es
necesario dividir un problema en pequeños subproblemas los cuáles serán las funcionalidades
(métodos) del objeto; por ejemplo, para un sistema de facturación se necesitará crear una clase
Detalle, y se creará un objeto detalle, que deberá calcular el acumulado de las compras
realizadas (método CalcularSubtotal), calcular el descuento que se aplica bajo ciertas
condiciones (método CalcularDescuento), calcular el impuesto que se aplica sobre las compras
realizadas (método CalcularImpuesto), calcular el total a pagar (método CalcularTotal). La
siguiente figura ilustra dos de las clases que pueden crearse en el sistema de facturación, y en
color azul se muestran los cálculos que son las funcionalidades de la clase Detalle.
También se ha señalado la clase Factura, que representa los datos de la factura (atributos:
nroFactura, CICliente, Fecha, entre otros) y como funcionalidad, se debería considerar el hecho
de generar automáticamente el número de factura). Como se observa, la POO utiliza una
terminología diferente a la utilizada hasta el momento, entre los principales nuevos términos
están: Clases, Objetos, Atributos, Métodos, entre otros, mismos que ser irán describiendo a
continuación.
¿QUÉ ES PILARES DE POO?
La POO tiene varios pilares para asegurar la simplicidad de código y su reutilización, y aunque
diversos autores señalan diversos pilares, en este documento se considerarán los cuatro que son
comunes en la mayoría de textos, estos son: Abstracción, Encapsulamiento, Herencia y
Polimorfismo, las dos primeras están más relacionadas con la búsqueda de códigos simples y
las dos siguientes con la reutilización.
Abstracción
Es el pilar de la POO, que permite identificar las características y comportamientos de un objeto
y con los cuales se construirá la clase (plantilla). Esto quiere decir que a través de este pilar o
fundamento es posible reconocer los atributos y métodos de un objeto.
La imagen muestra en texto de color negro algunas de las características del objeto: color,
tamaño, marca, son características porque todos los controles pueden tenerlas y cada objeto de
este tipo tomará valores que le identifiquen; el objeto de la imagen tiene los siguientes valores:
Color: negro
Tamaño: 15
Marca: Samsung
De igual forma, se identifican los comportamientos que en la imagen aparecen como textos de
color blanco.
Encapsulamiento

Es la característica de la POO que permite el ocultamiento de la complejidad del código,


pertenece a la parte privada de la clase y que no puede ser vista desde ningún otro programa.
En el gráfico se representa como la complejidad del código queda oculta dentro de una caja
fuerte impidiendo que quien lo utilice sin observar los detalles de cada una de las líneas que
permiten el cumplimiento de una acción específica.
En realidad, el encapsulamiento está relacionado con el acceso a un código desde el código de
otra clase; sin embargo en términos generales, esta representación gráfica es conveniente para
comprender el concepto de encapsulamiento.
Herencia

Es el pilar más fuerte que asegura la reutilización de código, ya que a partir de esta característica
es posible reutilizar (heredar) las características y comportamientos de una clase superior
llamada clase padre, a sus clases hijas, denominadas clases derivadas. En el gráfico, Persona
es la clase Padre, que tiene como características: CI, nombre, dirección, fechaNac, genero, entre
otros; y Estudiante y Profesor son las clases "Hijas", que heredan las características de la clase
padre y a su vez establecen las propias de su clase. Esto implica que no se deberán volver a
definir, sino que por el simple hecho de heredarlas ya es posible utilizarlas y en el caso de los
comportamientos ejecutarlos o modificarlos si es necesario.
Polimorfismo

A través de esta característica es posible definir varios métodos o comportamientos de un


objeto bajo un mismo nombre, de forma tal que es posible modificar los parámetros del método,
o reescribir su funcionamiento, o incrementar más funcionalidades a un método.
En el gráfico se observa que todas son figuras geométricas por lo que pueden incluirse en una
clase Padre, por lo que la clase deberá tener el método Área (), este método podrá ser reescrito
tantas veces como figuras existan, con los parámetros correspondientes en cada clase derivada:
Circulo, Triangulo y Rectángulo, o reescrita en la clase base.
FUNDAMENTOS DE POO
La mayoría de los lenguajes de programación creada en los últimos 30 años tiene algo en
común, se basan en algo llamado: “Programación Orientada a Objetos”
Antes que nada, no POO (su abreviatura) no es un lenguaje, sino un paradigma.
¿Qué demonios es un paradigma?
Paradigma: Forma de Pensar. Así de fácil, POO (ó OOP en inglés, por si algún día te lo
encuentras) es una forma de pensar la programación de manera diferente a lo “tradicional”.
¿Y qué es lo tradicional para empezar?
Pues lo tradicional es la Programación Estructurada, donde en general (y digo general porque
si, tienen funciones y cosas así, pero no importa ahora) tu programa es como una receta de
cocina: Un conjunto de instrucciones y nada más.

Objeto

El uso de objetos en la programación está relacionado con el hecho de que el mundo está
constituido de objetos que interactúan entre sí, todo aquello que está en la naturaleza es un
objeto y cada uno está formado de otros objetos más pequeños; pero ¿cómo definir un objeto?
Un objeto es un sustantivo en singular, si se recuerda que un sustantivo es aquello que existe:
una persona, animal, planta o cosa, entonces todo lo que se incluye en esta definición es un
objeto.
Ejemplo: un computador, un rectángulo, una persona, un libro, un carro, un perro, una factura,
una cuenta bancaria.

Métodos
Sobre los objetos es posible realizar acciones (operaciones, cálculos), para lo cual podría
utilizarse la pregunta, ¿Qué se puede hacer sobre el objeto X? Las respuestas a esta interrogante
facilitarán la identificación de las funcionalidades de los objetos. Si se recuerda que un verbo
es una palabra que denota acción, entonces las funcionalidades se especificarán con
verbos. Técnicamente se denominan MÉTODOS.
OBJETO FUNCIONALIDADES

CalcularArea

rectángulo CalcularPerimetro

CalcularIVA

detalleFactura CalcularDescuento

CalcularTotal

Depositar

transacción Retirar

CalcularIntereses

Clase
Dado que pueden existir varios objetos del mismo tipo, con las mismas características y
funcionalidades, se crean las clases, que representan los modelos ideales de un objeto, una
plantilla a partir de la cual se pueden crear objetos que compartan esas características y
funcionalidades; así, tomando en cuenta algunos de los ejemplos de objetos mencionados
anteriormente, algunas clases serían: Clase Transacción, Clase Rectángulo, Clase Persona,
Clase Factura; esto significa que cada vez que se requiera una transacción se creará un objeto
basado en la plantilla Transacción; cuando se requiera un objeto rectángulo se creará a partir
de la plantilla Rectángulo; y así con cada uno de los objetos, siempre que se requiera un objeto
de un tipo específico con unas características y funcionalidades se deberá crear una plantilla
(clase) que será el modelo para todos los objetos de ese tipo.
A la acción de crear objetos, se denomina instanciar una clase; relacionando con los
conocimientos adquiridos hasta ahora, una Clase se puede considerar como un nuevo tipo de
datos, personalizado, creado por el programador, y la variable de ese nuevo tipo de dato, es el
objeto.
Factura fact;
Factura es la clase y fact es el objeto de la clase Factura. Cuando se le asigne valores a ese
objeto fact, en ese momento se realiza la instanciación.
Las clases tienen una parte privada y una parte pública.
REFORZANDO CONCEPTOS DE POO
La POO es un nuevo paradigma de programación, es una forma diferente de programar,
un modelo a seguir para solucionar problemas a través de la informática.
La POO tiene como su más importante característica la reutilización del código que significa
que se escribe una vez y se reutiliza varias veces en los casos en que sea requerido.
Las acciones (operaciones, cálculos) que se realizan sobre un objeto se denominan métodos y
para identificarlos se debe preguntar: ¿Qué se puede hacer sobre el objeto X? y su respuesta
debe ser un verbo en infinitivo. Las clases representan los modelos ideales de un objeto, una
clase es una plantilla a partir de la cual se pueden crear objetos que compartan esas
características (atributos) y funcionalidades (métodos). lase = plantilla
Objeto = sustantivo
Método = verbo
Atributo = característica

GUÍA DE POO
La presente guía docente corresponde a la asignatura Programación Orientada a Objetos
(POO), aprobada para el curso lectivo 2013-2014 en Junta de Centro y publicada en su versión
definitiva en la página web de la Escuela Politécnica Superior. El presente documento es una
guía, y por tanto es posible que su desarrollo durante el curso sufra alguna variación.

Anda mungkin juga menyukai