Existe
un acuerdo acerca de qué características contempla la "orientación a
objetos", las características siguientes son las más importantes:
ABSTRACCIÓN: denota las características esenciales de un objeto,
donde se capturan sus comportamientos.
ENCAPSULAMIENTO: Significa reunir a 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.
MODULARIDAD: Se denomina a la propiedad que permite subdividir una
aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales
debe ser tan independiente como sea posible de la aplicación en sí y de las
restantes partes. Estos módulos que se puedan compilar por separado, pero que
tienen conexiones con otros módulos.
PRINCIPIO DE
OCULTACIÓN: Cada objeto está aislado del
exterior, es un módulo natural, y cada tipo de objeto expone una interfaz a
otros objetos que específica cómo pueden interactuar con los objetos de la
clase. El aislamiento protege a las propiedades de un objeto contra su
modificación por quien no tenga derecho a acceder a ellas; solamente los
propios métodos internos del objeto pueden acceder a su estado.
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.
HERENCIA: las clases no están aisladas, sino que se relacionan
entre sí, formando una jerarquía de clasificación. Los objetos heredan las
propiedades y el comportamiento de todas las clases a las que pertenecen. La
herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a
los objetos ser definidos y creados como tipos especializados de objetos
preexistentes.
HERENCIA SIMPLE: consiste en que una clase hereda únicamente de otra. La
relación de herencia hace posible utilizar, desde la instancia, los atributos
de la clase padre.
HERENCIA MÚLTIPLE: hace referencia a una característica de la POO en la que
una clase puede heredar
comportamientos y características de más de una superclase.
RECOLECCIÓN
DE BASURA o garbage collection es
la técnica por la cual el entorno de objetos se encarga de destruir
automáticamente, y por tanto desvincular la memoria asociada, los objetos que
hayan quedado sin ninguna referencia a ellos. Esto significa que el programador
no debe preocuparse por la asignación o liberación de memoria, ya que el
entorno la asignará al crear un nuevo objeto y la liberará cuando nadie lo esté
usando.
DEMONIOS: Es un tipo especial de métodos que se activa
automáticamente cuando sucede algo especial: la asignación de un valor a una
propiedad de un objeto, la lectura de un valor determinado, etc. Los demonios, cuando
existen, se diferencian de otros métodos por que no son heredables y porque a
veces están ligados a una de las propiedades de un objeto, más que al objeto
entero.
SOBRECARGA: es la capacidad de un lenguaje de programación, que
permite nombrar con el mismo identificador diferentes variables u operaciones. En POO
la sobrecarga se refiere a la posibilidad de tener dos o más funciones con
el mismo nombre pero funcionalidad diferente.
COHESION: significa que cada módulo del sistema se refiera a un
único proceso o entidad. A mayor cohesión, mejor: el módulo en cuestión. Se logra
cohesión cuando cada módulo (función o procedimiento) realiza una única tarea
trabajando sobre una sola estructura de datos.
ACOPLAMIENTO: mide el grado de relacionamiento de un módulo con los
demás. A menor acoplamiento, mejor: el módulo en cuestión será más sencillo de programar.
Se logra bajo acoplamiento reduciendo las interacciones entre procedimientos y funciones, reduciendo la cantidad y complejidad de los parámetros.
Se logra bajo acoplamiento reduciendo las interacciones entre procedimientos y funciones, reduciendo la cantidad y complejidad de los parámetros.
CONSTRUCTOR: el objetivo es el de inicializar un objeto cuando éste
es creado. Asignaremos los valores iniciales así como los procesos que ésta
clase deba realizar. Se utiliza para crear tablas de métodos virtuales y
poder así desarrollar el polimorfismo,
DESTRUCTOR: en algunos lenguajes de POO es un método de una clase
que se llama justo antes de una instancia de esa clase y se elimina de la
memoria.
No hay comentarios:
Publicar un comentario