La programación orientada a objetos es una forma de programar que trata
de encontrar una solución a estos problemas. Introduce nuevos conceptos, que
superan y amplían conceptos antiguos ya conocidos. Entre ellos destacan los
siguientes:
Clase
Definiciones de las
propiedades y comportamiento de un tipo de objeto concreto. La instanciación es
la lectura de estas definiciones y la creación de un objeto a partir de ellas.
La tendencia natural del
individuo es la de clasificar los objetos según sus características comunes
(clase). Por ejemplo, las personas que asisten a la universidad se pueden
clasificar (haciendo abstracción) en estudiante, docente, empleado e investigador.
La
clase puede definirse como la agrupación o colección de objetos que comparten
una estructura común y un comportamiento común. Es una plantilla que contiene
la descripción general de una colección de objetos. Consta de atributos y
métodos que resumen las características y el comportamiento comunes de un
conjunto de objetos.
Herencia
La herencia sirve para crear objetos que incorporen propiedades y métodos
de otros objetos. Así podremos construir unos objetos a partir de otros sin
tener que reescribirlo todo. (Por ejemplo, herencia de la clase C a la clase D) es la facilidad
mediante la cual la clase D hereda en ella cada uno de los atributos y operaciones
de C, como si esos atributos y operaciones hubiesen sido definidos por la misma
D. Por lo tanto, puede usar los mismos métodos y variables públicas declaradas
en C. Los componentes registrados como "privados" (private) también
se heredan, pero como no pertenecen a la clase, se mantienen escondidos al
programador y sólo pueden ser accedidos a través de otros métodos públicos.
Esto es así para mantener hegemónico el ideal de POO.
Instancia de una
clase. Entidad provista de un conjunto de propiedades o atributos (datos) y de
comportamiento o funcionalidad (métodos), los mismos que consecuentemente
reaccionan a eventos. Se corresponden con los objetos reales del mundo que nos
rodea, o con objetos internos del sistema (del programa). Es una instancia a
una clase.
Pensar en términos de objetos es muy parecido a cómo lo haríamos en la
vida real. Por ejemplo vamos a pensar en un coche para tratar de modelizarlo en
un esquema de POO. Diríamos que el coche es el elemento principal que tiene una
serie de características, como podrían ser el color, el modelo o la marca.
Además tiene una serie de funcionalidades asociadas, como pueden ser ponerse en
marcha, parar o aparcar.
Pues en un esquema POO el coche sería el objeto, las propiedades serían
las características como el color o el modelo y los métodos serían las
funcionalidades asociadas como ponerse en marcha o parar.
Método
Algoritmo asociado a
un objeto (o a una clase de objetos), cuya ejecución se desencadena tras la
recepción de un "mensaje". Desde el punto de vista del
comportamiento, es lo que el objeto puede hacer. Un método puede producir un
cambio en las propiedades del objeto, o la generación de un "evento"
con un nuevo mensaje para otro objeto del sistema. La implementación de los métodos no
es visible fuera de objeto.
Evento
Es un suceso en el
sistema (tal como una interacción del usuario con la máquina, o un mensaje
enviado por un objeto). El sistema maneja el evento enviando el mensaje
adecuado al objeto pertinente. También se puede definir como evento la reacción
que puede desencadenar un objeto; es decir, la acción que genera.
Atributos
Son
los datos o variables que caracterizan al objeto y cuyos valores en un momento
dado indican su estado. Un atributo es una característica de un objeto.
Mediante los atributos se define información oculta dentro de un objeto, la
cual es manipulada solamente por los métodos definidos sobre dicho objeto
Un
atributo consta de un nombre y un valor. Cada atributo está asociado a un tipo
de dato, que puede ser simple (entero, real, lógico, carácter, string) o
estructurado (arreglo, registro, archivo, lista, etc.)
Mensaje
Una comunicación
dirigida a un objeto, que le ordena que ejecute uno de sus métodos con ciertos
parámetros asociados al evento que lo generó o para obtener el valor de un atributo público.
Encapsulamiento
Significa reunir
todos los elementos que pueden considerarse pertenecientes a una misma entidad,
al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes
del sistema. Algunos autores confunden este concepto con el principio de
ocultación, principalmente porque se suelen emplear conjuntamente.
Polimorfismo
Comportamientos
diferentes, asociados a objetos distintos, pueden compartir el mismo nombre; al
llamarlos por ese nombre se utilizará el comportamiento correspondiente al
objeto que se esté usando. O, dicho de otro modo, las referencias y las
colecciones de objetos pueden contener objetos de diferentes tipos, y la
invocación de un comportamiento en una referencia producirá el comportamiento
correcto para el tipo real del objeto referenciado. Cuando esto ocurre en
"tiempo de ejecución", esta última característica se llama asignación
tardía o asignación dinámica. Algunos lenguajes
proporcionan medios más estáticos (en "tiempo de compilación") de
polimorfismo, tales como las plantillas y la sobrecarga de operadores de
C++.
Estado interno
Es una variable que
se declara privada, que puede ser únicamente accedida y alterada por un método
del objeto, y que se utiliza para indicar distintas situaciones posibles para
el objeto (o clase de objetos). No es visible al programador que maneja una
instancia de la clase.
Componentes de un objeto
Atributos, identidad,
relaciones y métodos.
Identificación de un
objeto
Un objeto se
representa por medio de una tabla o entidad que esté compuesta por sus
atributos y funciones correspondientes.
En comparación con un lenguaje imperativo, una
"variable" no es más que un contenedor interno del atributo del
objeto o de un estado interno, así como la "función" es un
procedimiento interno del método del objeto.
Para obtener la información completa visita nuestras Fuentes Electrónicas consultadas:
No hay comentarios.:
Publicar un comentario