Está en la página 1de 10

By.

: Maricel Yarari Mamani

UNIDAD 1

INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS

OBJETIVO

Diferenciar entre Programación Estructurada y Programación Orientada A Objetos


para conocer las ventajas que ofrece todo lenguaje orientado a objetos.

Contenido:

1.1. Introducción
1.2. Conceptos de la POO
1.2.1. Objetos.
1.2.2. Mensajes.
1.2.3. Métodos.
1.2.4. Atributos
1.2.5. Clases.
1.3. Características fundamentales de la POO
1.4. El mecanismo de Clases
1.4.1. Abstracción
1.4.2. Encapsulación
1.4.3. Herencia
1.4.4. Polimorfismo
1.5. Puntero “this”
1.6. Encapsulación y ocultamiento de datos.

1
By.: Maricel Yarari Mamani

1.1. INTRODUCCIÓN

La Programación Orientada a Objetos (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 código modulado.
La característica principal de la Programación Orientada a Objetos es la
reutilización del código, mismo que debe ser simple y lo suficientemente
comprobado antes de estar disponible para ser utilizado, esta solución debe ser lo
más parametrizable posible para que sea general y por lo tanto pueda ser invocado
desde la mayor cantidad de casos posibles en los que sea requerido. Utiliza una
terminología diferente a la utilizada en la Programación estructurada, entre los
principales nuevos términos están: Objetos, Atributos, Métodos, Clases entre otros.

1.2. CONCEPTOS DE LA POO

1.2.1. Objeto

El uso de objetos en la POO está relacionado con el hecho de que el mundo está
constituido de objetos que interactúan entre sí; pero ¿cómo definir un objeto?

Un objeto es un ente real o abstracto con


OBJETO
características y acciones propias.

Ejemplo:

Computador Persona Factura

Identificar objetos concretos es relativamente sencillo, sin embargo, identificar


objetos abstractos requiere un poco de práctica e intuición como, por ejemplo,
transacción de una cuenta bancaria, detalle de una factura, que son objetos no tan
evidentes, pero que son los que en la mayoría de casos serán los objetos que
deberán ser implementados en programas, ya que interactuarán con los objetos
más evidentes como la factura, o la cuenta bancaria en el caso de la transacción.
Un objeto se caracteriza por tener una identidad, que lo distingue de otros sin
considerar su estado.

2
By.: Maricel Yarari Mamani

1.2.2. Atributos

Cada objeto tiene unas características que le identifican como tal, llamado a partir
de ahora, atributo.

Un atributo es una cualidad, característica o


ATRIBUTO propiedad de un objeto, especialmente algo que lo
identifica y lo hace distinto de otros.

Ejemplo:

OBJETO ATRIBUTOS
Nombre
PERSONA Cédula de Identidad
Fecha de Nacimiento
Título
LIBRO Autor
Año de Edición
Id Producto
PRODUCTO Precio
Marca
NroFactura
FACTURA Fecha
TotalPago
IdCuenta
CUENTA Titular
Saldo

Para identificar las características de un objeto, se puede utilizar la palabra tiene.


Ejemplo:

• Una persona tiene cédula, nombre y una fecha de nacimiento;


• Un libro tiene: título, autor y año de edición
• Una factura tiene: NroFactura, fecha, totalPago

3
By.: Maricel Yarari Mamani

1.2.3. Métodos

Un método es una abstracción de una operación o acción que puede hacer o


realizar un objeto, es decir sobre los objetos es posible realizar acciones,
operaciones, cálculos, entre otros.

Es un comportamiento u operación que el


MÉTODO
objeto puede realizar por sí mismo.

OBJETO MÉTODOS
caminar
PERSONA trabajar
estudiar

FIGURA calculararea
GEOMÉTRICA calcularperimetro

calculariva
FACTURA calculardescuento
calculartotal
depositar
CUENTA retirar
calcularintereses

Para identificar los métodos podría utilizarse la pregunta, ¿Qué Se Puede Hacer
Sobre El Objeto X? o ¿Qué Puede Hacer El Objeto X?.

Las respuestas a esta interrogante facilitan la identificación de las funcionalidades


de los objetos, se las denota como verbos pues mediante ellos se determinan
acciones.

Ejemplo:

• ¿Qué puede hacer una persona?


R. Caminar, trabajar, estudiar.
• ¿Qué se puede hacer sobre una Figura Geométrica?
R. Calcular Área, calcular Perímetro.
• ¿Qué se puede hacer sobre una Factura?
R. Calcular IVA,Calcular Descuentos, Calcular Total.
• ¿Qué se puede hacer con una Cuenta?
R. Depositar, Retirar, Calcular Intereses.

4
By.: Maricel Yarari Mamani

Ejemplo

Objeto Atributos Métodos


nombre caminar
persona cédula de identidad trabajar
fecha de nacimiento estudiar

título leer
libro autor hojear
año de edición

base calculararea
figura
altura calcularperímetro
geométrica

id producto calcularprecio
producto precio calculartotal
marca

nrofactura calculariva
factura fecha calculardescuento
totalpago calculartotal

idcuenta depositar
cuenta titular retirar
saldo calcularintereses

1.2.4. Mensaje

Los objetos en POO interactúan y se comunican entre sí por medio de mensajes.


Cuando un objeto A desea que un objeto B realice alguna acción o habilite alguna
de sus acciones o métodos, el objeto A manda un mensaje al objeto B, o viceversa.
Es decir, un objeto cualquier que sea no puede activar alguna funcionalidad propia
del mismo sin antes recibir un mensaje.

Mensaje

Objeto A Objeto B

5
By.: Maricel Yarari Mamani

1.2.5. Clase

La Clase es una plantilla que describe los atributos y métodos de un conjunto de


objetos similares. Es un modelo que define variables, el estado y métodos
apropiados para operar sobre los objetos.

Persona Vehículo
Persona1 Taxi

Avión
Persona2
Minibús
Persona3
Micro
Persona n Caballo

Algunas clases, tomando los ejemplos anteriores serían: Clase Persona, Clase
Figura Geométrica, Clase Factura, Clase Cuenta, etc.

Esto significa que cada vez que se requiera ingresar datos de alguna persona se
creara un objeto persona basado en la plantilla Persona, que a partir de este
momento se denominara clase, y así sucederá 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 clase que será el modelo para todos los objetos
de ese tipo.

Ejemplo: Clase Factura

objeto 1
objeto 2

objeto 3
clase
objeto 4

La clase Factura sirve de modelo para crear varios objetos, cada uno con sus
propios valores.
Luego cada objeto será personalizado, al recibir valores para cada uno de los
atributos especificados en su plantilla, cada objeto creado a partir de la clase se
denomina instancia de la clase.

6
By.: Maricel Yarari Mamani

1.3. MECANISMO DE CLASES

La POO se basa en pilares para asegurar la simplicidad de código y su reutilización,


estos pilares 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 de código.

1.3.1. Abstracción

Permite identificar las características y


ABSTRACCION
comportamientos de un objeto.

Es el pilar de la POO, que permite construir la clase (plantilla), pues a través de


este pilar o fundamento es posible reconocer los atributos y métodos de un objeto.

Ejemplo 1: Control Remoto

APAGAR color

tamaño
ADELANTAR

RETROCEDER

La imagen muestra en texto minúscula algunas de las características del objeto:


color, tamaño:
color: negro
tamaño: 15

De igual forma, se identifican los métodos que en la imagen aparecen como textos
mayúscula:

Retroceder
Adelantar
Apagar

7
By.: Maricel Yarari Mamani

De ahí, se forma la clase ControlRemoto, con sus atributos y métodos.

Ejemplo 2: Factura

numeroFactura

nombreCliente

calcularImporte
Parcial

calcularImporte
Total
calcularDescuento

1.3.2. Encapsulamiento

Permite el ocultamiento de la complejidad del


código, pertenece a la parte privada de la
ENCAPSULAMIENTO
clase y que no puede ser vista desde ningún
otro programa.

A continuación, se muestra de manera gráfica el Encapsulamiento en


programación Orientada a Objetos.

Métodos
Públicos Métodos
Privados

Métodos
Métodos de la
de la
Clase
Clase
Variables
Instancias
Privadas

Métodos de la Clase

8
By.: Maricel Yarari Mamani

En el gráfico se representa como la complejidad del código queda oculta dentro de


una caja fuerte, impidiendo de esa manera que cualquier usuario pueda observar
los detalles de cada una de las líneas que permiten el cumplimiento de una acción
específica.

En realidad, el encapsulamiento permite ver toda la información relacionada con


un objeto como una caja negra. Esto permite manipular los datos como unidades
básicas, permaneciendo oculta su estructura interna.

1.3.3. Herencia

Asegura la reutilización de código, ya que a


partir de esta característica es posible reutilizar
HERENCIA (heredar) los atributos y métodos de una clase
superior llamada clase padre, a sus clases
derivadas, denominadas clases hijas

Es el mecanismo para compartir automáticamente métodos y atributos entre clases


y subclases de objetos. Esto implica que una vez desarrollado el código de una
clase base, su código puede ser reutilizado por las clases derivadas.

9
By.: Maricel Yarari Mamani

1.3.4. Polimorfismo

La técnica de polimorfismo de la POO significa


la capacidad de tomar más de una forma. Una
POLIMORFISMO
operación puede presentar diferentes
comportamientos en diferentes instancias.

Permite que un método o comportamiento implemente múltiples formas


dependiendo cada una de ellas sobre la clase en la cual se realice la
implementación. Todos con el mismo nombre.
El comportamiento depende de los tipos de datos utilizados en la operación. El
polimorfismo es ampliamente utilizado en la aplicación de la herencia.

A través de este pilar es posible definir varios métodos o comportamientos de un


objeto bajo un mismo nombre, de tal forma que sea 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 anterior se observa que Circulo, Triangulo y Rectángulo son figuras


geométricas por lo que pueden incluirse en una clase Padre llamada Figura, que
contiene el método área (), este método podrá ser reescrito tantas veces como
figuras existan, con los parámetros correspondientes en cada sub clase.

10

También podría gustarte