Programacion Orientada A Objetos
Programacion Orientada A Objetos
Programacion Orientada A Objetos
ORIGEN
Según (Ceballos 2010). “Los objetos y las variables de referencia son conceptos esenciales
en la programación orientada a objetos y se vinculan con la manera en que se gestionan los
datos y se construyen estructuras de datos avanzadas en múltiples lenguajes de
programación”. A continuación, detallaremos ambos conceptos:
Un objeto es una instancia de una clase en la programación orientada a objetos. Las clases
son plantillas o modelos que definen las propiedades (atributos) y comportamientos
(métodos) que los objetos de esa clase tendrán. Los objetos son "instancias" concretas
basadas en esas plantillas.Los objetos cumplen la función de representar conceptos del
mundo real y son útiles para organizar y encapsular información y funcionalidades
relacionadas en una sola entidad. Por ejemplo, podemos imaginar una clase llamada
"Coche" que define los atributos como marca, modelo y color, junto a los métodos como
"arrancar" y "detener". Un objeto "Coche" específico sería una instancia de esta clase y
contendría valores concretos para sus atributos. Cabe destacar que los objetos se crean en
la memoria del sistema y ocupan un espacio reservado en ella. Es posible crear múltiples
objetos basados en la misma clase, y cada uno de ellos tendrá sus propios valores de
atributos y su propio estado.”
Como plantea (Andrew C 1999). “Una variable de referencia es una variable que guarda la
ubicación de memoria de un objeto en lugar de guardar el objeto directamente. En
numerosos lenguajes de programación orientados a objetos, como Java, C++, Python, y
otros, cuando creas un objeto, en realidad estás generando una referencia hacia dicho
objeto. Las variables de referencia resultan beneficiosas porque posibilitan la manipulación
y el trabajo eficiente con objetos sin necesidad de duplicar grandes conjuntos de datos. En
su lugar, solo se transfiere la referencia al objeto”.
Dicho todo esto podemos deducir que en la programación orientada a objetos, los objetos
son representaciones específicas de clases que encapsulan información y funcionalidad,
mientras que las variables de referencia son variables que guardan la ubicación de memoria
de objetos, lo que facilita el manejo eficiente de datos complejos sin necesidad de
replicarlos.
CLASES E INSTANCIAS
Una clase se define como un patrón o un prototipo que establece un tipo particular de objeto
en la programación orientada a objetos.Representa un conjunto de atributos
(características) y métodos (acciones) que caracterizan a los objetos pertenecientes a dicha
clase. Las clases operan como una plantilla para la creación de objetos y determinan la
estructura y el comportamiento que los objetos de esa clase seguirán. En otras palabras,
una clase establece la apariencia y el comportamiento que tendrán sus objetos. Estas
clases son una abstracción de conceptos del mundo real. Por ejemplo, si estás
desarrollando un programa de administración de bibliotecas, podrías definir una clase
llamada "Libro" con atributos como título, autor y número de páginas, además de métodos
para gestionar el préstamo y la devolución de un libro. En la mayoría de los lenguajes de
programación orientados a objetos, para crear un objeto basado en una clase, primero
debes definir la clase y, luego, puedes generar múltiples instancias (objetos) de esa misma
clase”.
Según (James L, 1997). “Una instancia es un objeto concreto creado a partir de una clase.
Es una representación real y específica de esa clase, con sus propios valores de atributos y
estado. Cuando creas una instancia de una clase, estás creando un objeto único que sigue
las características y el comportamiento definidos en la clase, pero que puede tener valores
de atributos distintos a otras instancias de la misma clase. Por ejemplo, si tienes una clase
"Persona", puedes crear múltiples instancias de esa clase, cada una representando a una
persona diferente, con su propio nombre, edad y otras propiedades. Las instancias permiten
modelar objetos del mundo real en tu programa y trabajar con ellos de manera individual.
Puedes realizar operaciones específicas en cada instancia sin afectar a otras instancias de
la misma clase”.
Métodos: Los métodos son funciones definidas dentro de la clase que representan
el comportamiento de los objetos creados a partir de la clase. Los métodos pueden
acceder y modificar los atributos de la clase y pueden realizar diversas acciones. En
Python, el primer parámetro de un método se llama self y hace referencia al objeto
mismo.
Public (Público): Los miembros (atributos y métodos) marcados como públicos son
accesibles desde cualquier parte del programa, ya sea dentro de la clase, en otras
clases del mismo paquete (en Java), o desde cualquier clase que importe la clase
que contiene el miembro público.
Private (Privado): Los miembros marcados como privados sólo son accesibles
dentro de la clase que los define. No son visibles desde fuera de la clase, incluso si
se trata de subclases.
Estos modificadores de acceso permiten mantener la encapsulación, que es un
principio fundamental en la POO. La encapsulación se refiere a la ocultación de los
detalles internos de una clase y sólo exponer una interfaz pública para interactuar
con los objetos de esa clase. Esto tiene varios beneficios:
● Ayuda a prevenir el acceso y la modificación no autorizados de los datos de
un objeto.
● Facilita el cambio interno de la implementación de una clase sin afectar a
otras partes del programa que la utilizan.
● Promueve una estructura de código más organizada y mantenible.
En resumen, los modificadores de acceso son una herramienta clave para controlar
quién puede acceder y modificar los miembros de una clase en programación
orientada a objetos, lo que contribuye a la seguridad y la robustez del código.”
Definición de Interfaz: Una interfaz se define mediante una declaración que enumera
los métodos que deben ser implementados por cualquier clase que implemente la
interfaz. Los métodos en una interfaz generalmente no tienen implementación;
simplemente se declaran con sus firmas.
Herencia de Interfaces: Al igual que las clases, las interfaces también pueden
heredar de otras interfaces. Esto significa que una interfaz puede extender o ampliar
otra interfaz, agregando nuevos métodos o heredando los métodos de la interfaz
padre.
Utilidad de las Interfaces: Las interfaces son útiles para lograr la abstracción y el
polimorfismo en el diseño de software. Al definir interfaces, puedes especificar un
conjunto común de comportamientos que las clases deben proporcionar, lo que
facilita el intercambio de objetos en diferentes contextos. Por ejemplo, puedes crear
una interfaz Figura con métodos calcularArea() y calcularPerimetro(), y luego tener
clases como Círculo y Rectángulo que implementan esta interfaz, lo que permite
tratarlas de manera uniforme en un contexto más amplio.
https://www.cua.uam.mx/pdfs/revistas_electronicas/libros-electronicos/2016/2intro-
poo/programacion_web.pdf