sábado, 10 de abril de 2010

Conceptos sobre el paradigma orientado a objetos.

¿Que es un objeto?
Según las definiciones formales de James Rumbaugh y Grady Booch, un objeto es una abstracción de la realidad que tiene un significado concreto y claro para el problema que se está modelando.
Todos los objetos tienen 3 características principales:
Estado,Comportamiento e Identidad.
Estado: -Todo objeto posee un estado, el cual normalmente cambia en el transcurso del tiempo.
-Es una de muchas posibles condiciones en las que puede existir el objeto.
Comportamiento: El comportamiento de un objeto va a definirr las acciones (u operaciones)que este puede realizar ante diversos contextos en el que se desarrolle.
Identidad: La identidad de un objeto es la que va a definir a este como único,aunque su estado sea igual al de otro objeto(o idéntico inclusive).
¿Qué es una Clase?
Una clase es una plantilla general para un grupo de objetos con ciertas características en común,por ejemplo propiedades,comportamientos,semantica etc.

¿Que elementos contienen las clases?
Las clases se definen con atributos y métodos:
atributos:Los atributos definen las características que tienen los objetos,estos suelen tener nombre,alcance y tipo de dato.
métodos:Los métodos definen la acción que llevara a cabo el objeto.

Dada la definición de clase y objeto podemos decir que:
Un objeto es una instancia de una clase.

Ahora bien, ya que sabemos los conceptos principales, existen otros que son necesarios y útiles, dentro de la estructuración de una clase, y estos son: propiedades y métodos de clase(estáticos).
Los atributos estáticos sirven para que al instanciar un objeto, ese tipo de dato se instancie una sola vez,y los cambios que se hagan a ese atributo, se vean afectados en todas las instancias de esa clase.
Los métodos de clase son miembros que no necesitan de una instancia para ser invocados.

Pilares de la Orientación a Objetos.




Abstracción.
El proceso de abstracción permite seleccionar las características relevantes dentro de un conjunto e identificar comportamientos comunes para definir nuevos tipos de entidades en el mundo real. La abstracción es clave en el proceso de análisis y diseño orientado a objetos, ya que mediante ella podemos llegar a armar un conjunto de clases que permitan modelar la realidad o el problema que se quiere atacar.

Encapsulamiento.
Principio que establece que los atributos propios de un objeto no deben ser visibles desde otros objetos.Permite exponer el estado(atributos) del objeto sólo a través de sus comportamientos(métodos) del mismo.Esto nos ayuda a una mejor respuesta ante los cambios.

Herencia.
Es una relación entre clases en la cual una clase comparte la estructura y comportamiento definido en otra clase.Cada clase que hereda de otra posee:
Los atributos de la clase base además de los propios,soporta todos o algunos de los métodos de la clase base(superclase).
NOTA: Los miembros privados de clases base se heredan en las clases derivadas pero éstas no pueden tener acceso a ellos.
Cabe destacar que existen 2 tipos de herencia.
Herencia Simple: una clase derivada puede heredar sólo de una clase base.
Herencia Múltiple: una clase derivada puede heredar de una o más clases base.


Conceptos del Diseño Orientado a Objetos.
Interfaces.

Es un recurso de diseño que permite definir comportamientos(métodos), y que clases que no están estrechamente relacionadas entre sí deban tener el mismo comportamiento.
La implementación de una interfaz es un contrato que obliga a la clase a implementar todos los métodos definidos en la interfaz.
Por ultimo, una pequeña pero muy significativa característica es que no se pueden declarar atributos dentro de una interfaz.

Polimorfismo.

Es la propiedad que tienen los objetos de permitir invocar genéricamente un comportamiento (método).
El polimorfismo se puede obtener a partir de 2 formas, estas son: por sobrecarga y por sobre escritura.
Un polimorfismo por sobrecarga significa que podemos utilizar el mismo nombre del método cuantas veces sea necesario pero con la diferencia de que sus parámetros(firmas del método)difieran una de las otras.
El polimorfismo por sobreescritura se da mas en el ambito de la herencia, ya que cuando una clase hereda de una clase base(superclase),esta(clase hija) puede redefinir el comportamiento de algun metodo que esté definido en la superclase.

No hay comentarios:

Publicar un comentario

CoMeNtArIoS y MaS...