sábado, 30 de noviembre de 2013

Unidad 1 Paradigma Orientado a Objetos

Unidad 1 Paradigma Orientado a Objetos

Conceptos Básicos.


¿Qué es la Orientación a Objetos?

Es una manera de pensar, otra manera de resolver un problema; lo más reciente en metodologías de desarrollo de software. Es un proceso mental humano aterrizado en una computadora. Antes se adecuaba el usuario al entendimiento de la computadora. Actualmente, se le enseña a la computadora a entender el problema.

La Orientación a Objetos es un paradigma, es decir, es un modelo para aclarar algo o para explicarlo. La Orientación a Objetos es el paradigma que mejora el diseño, desarrollo y mantenimiento del software ofreciendo una solución a largo plazo a los problemas y preocupaciones que han existido desde el comienzo del desarrollo del software:

La falta de potabilidad del código, su reusabilidad, la modificación (que antes era difícil de lograr), ciclos de desarrollo largo, técnicas de programación no intuitivas.
La Orientación a Objetos está basada en los tres métodos de organización que utilizamos desde la infancia; entre un objeto y sus atributos (automóvil > marca, color, número de llantas, etc.); Entre un objeto y sus componentes donde incluso otros objetos pueden formar parte de otros objetos (agregación) (camión > motor, parabrisas, llantas); entre un objeto y su relación con otros objetos (camión > vehículos automotores; una bicicleta no entraría en esta relación).
La metodología del software orientado a objetos consiste en:
·         Saber el espacio del problema
·         Realizar una abstracción
·         Crear los objetos (espacio de la solución)
·         Instanciarlos (esto es, traerlos a la vida)
·         Dejarlos vivir (ellos ya saben lo que tienen que hacer)



Abstracción.


Expresa las características esenciales de un objeto, las cuales distinguen al objeto de los demás.
Imaginemos que queremos aplicar la abstracción a las Aves.
El objeto seria el pájaro, y sus características, por ejemplo, serian:
      Pico
      Alas
      Plumas
      Patas
Las funcionalidades asociadas serian:
·         Volar
·         Parar
·         etc. 


Herencia.


Es una propiedad que permite que los objetos sean creados a partir de otros ya existentes, obteniendo características (métodos y atributos) similares a los ya existentes.
¢  El gato y el Perro tendrían la herencia (métodos y atributos) del Mamífero.

Polimorfismo.


Es la capacidad que tienen los objetos de una clase de responder al mismo mensaje o evento en función de los parámetros utilizados durante su invocación
Hay dos tipos:
Dinámico: es el que el código no incluye ningún tipo de especificación sobre el tipo de datos.
Estático: es el que los tipos a los que se aplica el polimorfismo deben ser explicitados y declarados uno por uno antes de ser utilizados.

Encapsulamiento.


La encapsulación es un mecanismo que consiste en organizar datos y métodos de una estructura, conciliando el modo en que el objeto se implementa, es decir, evitando el acceso a datos por cualquier otro medio distinto a los especificados. Por lo tanto, la encapsulación garantiza la integridad de los datos que contiene un objeto.
Ocultación de datos
público: funciones de toda clase pueden acceder a los datos o métodos de una clase que se define con el nivel de acceso público. Este es el nivel de protección de datos más bajo
protegido: el acceso a los datos está restringido a las funciones de clases heredadas, es decir, las funciones miembro de esa clase y todas las subclases
privado: el acceso a los datos está restringido a los métodos de esa clase en particular. Este es nivel más alto de protección de datos

Asociaciones.


Una asociación es una conexión entre clases, una conexión (enlace) semántica entre objetos de las clases implicadas en la asociación. El establecimiento de una asociación define los roles (papeles) o dependencias entre objetos de dos clases y su cordialidades (multiplicidad); es decir, cuantas instancias (ejemplares) de cada clase pueden estar implicadas en una asociación.
Una asociación es, normalmente, bidireccional, lo que significa que si un objeto se asocia con otros objetos, ambos objetos se conocen entre sí. Una asociación representa que objetos de dos clases tienen un enlace entre ellos, lo que significa por ejemplo, que ellos conocen sobre los otros, están conectados a, para cada x hay una y, etc. La asociación se representa por una línea que une a las dos clases y el nombre de la asociación se escribe en la línea.

Agregación.


Una agregación es una relación que representa a los objetos compuestos. Un objeto es compuesto si se compone a su vez de otros objetos. La agregación de objetos permite describir modelos del mundo real que se componen de otros modelos, que a su vez se componen de otros modelos.


Este es un concepto que se utiliza para expresar tipos de relaciones entre objetos parte-de (part-of) o tiene-un(has-a). El objeto componente, también a veces denominado continente o contenedor, es un objeto agregado que se compone de múltiples objetos.

No hay comentarios:

Publicar un comentario