martes, 21 de agosto de 2012

Tarea 2

Unidad 2.- El Paradigma de Orientación a Objetos


Cuestionario

1.- ¿Qué es una clase?
Una clase es un contenedor de uno o más datos (variables o propiedades miembro) junto a las operaciones de manipulación de dichos datos (métodos). 

2.- ¿En programación orienta a objeto a que le llamamos clase?
A una construcción que se utiliza como un modelo (o plantilla) para crear objetos de ese tipo.

3.- ¿A qué se le denomina una instancia de la clase?
A un objeto de una determinada clase.

4.- ¿Qué describe la interfaz de una clase?
Describe cómo interactuar con la clase y sus instancias con métodos, mientras que la estructura describe cómo los datos se dividen en atributos dentro de una instancia.

5.- ¿Qué es un objeto?
Un objeto se define como la unidad que en tiempo de ejecución realiza las tareas de un programa.

6.- ¿Qué es capaz de hacer un objeto?
Es capaz de recibir mensajes, procesar datos y enviar mensajes a otros objetos de manera similar a un servicio. 

7.- ¿Cuál es el anteproyecto de un objeto? 
Una clase 

8.- ¿Por qué las clases y los objetos son análogos a los de tipo de datos y variable? 
Por que en una clase podemos crear objetos de esa clase. 

9.- ¿Qué es la identidad en un objeto? 
La identidad es la propiedad que permite a un objeto diferenciarse de otros. 

10.- ¿Cuál es el comportamiento de un objeto?
El comportamiento de un objeto está directamente relacionado con su funcionalidad y determina las operaciones que este puede realizar o a las que puede responder ante mensajes enviados por otros objetos 

11.- ¿A qué nos referimos con el estado de un objeto? 
El estado de un objeto se refiere al conjunto de los valores de sus atributos en un instante de tiempo dado .

12.- ¿Como es el trato de un objeto en POO? 
Es tratado como un conjunto dinámico de objetos interactuando entre sí. 

13.- ¿Qué es una Variables de instancia? 
En programación orientada a objetos, una variable de instancia o miembro de dato es una variable que se relaciona con una única instancia de una clase. 

14.- ¿Cómo se puede acceder a una variable de instancia? 
A través del identificador del objeto. 

15.- ¿De que tipo son las variables de instancia? 
Tipo global 

16¿Qué es un método?
Un Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena tras la recepción de un "mensaje". 

17.- ¿En Programación orientada a objeto que es método?
Un método es una subrutina asociada exclusivamente a una clase (llamados métodos de clase o métodos estáticos) o a un objeto(llamados métodos de instancia) 

18.- ¿Qué es un encapsulación? 
Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. 

19.- ¿Qué permite de una encapsulación? 
Esto permite aumentar la cohesión de los componentes del sistema 

20.- ¿ Cuántas formas hay de encapsular? 
1.- Estándar (Predeterminado)
2.- Abierto
3.- Protegido
4.- Semi cerrado
5.- Cerrado 

21.- ¿Describe cada forma de encapsulación? 
1.- Estándar (Predeterminado)
2.- Abierto : Hace que el miembro de la clase pueda ser accedido desde el exterior de la Clase y cualquier parte del programa.
3.- Protegido : Solo es accesible desde la Clase y las clases que heredan (a cualquier nivel).
4.- Semi cerrado : Solo es accesible desde la clase heredada
5.- Cerrado : Solo es accesible desde la Clase.

22.- ¿ La encapsulación da lugar a que las clases se dividan en dos partes, Menciona cuales son? 
*-Interfaz: Captura la visión externa de una clase, abarcando la abstracción del comportamiento común a los ejemplos de esa clase. 
*-Implementación: Comprende la representación de la abstracción, así como los mecanismos que conducen al comportamiento deseado. 

23.- ¿Cual es la definición de una herencia? 
Las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación .

24.- ¿La herencia que facilita y organiza? 
El polimorfismo y el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes 

25.- ¿Que es una herencia múltiple? 
Cuando un objeto hereda de más de una clase 

26.- ¿Cuáles son las ventajas de una herencia?
*- Ayuda a los programadores a ahorrar código y tiempo, ya que la clase padre ha sido implementada y verificada con anterioridad, restando solo referenciar desde la clase derivada a la clase base (que suele ser extends, inherits, subclass u otras palabras clave similares, dependiendo del lenguaje). 
*- Los objetos pueden ser construidos a partir de otros similares. Para ello es necesario que exista una clase base (que incluso puede formar parte de una jerarquía de clases más amplia). 
*- La clase derivada hereda el comportamiento y los atributos de la clase base, y es común que se le añada su propio comportamiento o que modifique lo heredado. 
*- Toda clase pueden servir como clase base para crear otras. 

27.- ¿Que hace la abstracción? 
Quita propiedades y acciones de un objeto para dejar solo aquellas que son nesesarias. 

28.- ¿Que es un diagrama de caso de usos? 
Es una descripción de las acciones de un sistema desde el punto de vista del usuario. Para los desarrolladores del sistema, esta es una herramienta valiosa, ya que esta es una técnica de aciertos y errores. 

29.- ¿Que comprende la clase de implementación en la encapsulación? 
Comprende la representación de la abstracción, así como los mecanismos que conducen al comportamiento deseado. 

30.- ¿A qué se le llama agregación?
Es un tipo de asociación, consta de un conjunto de objetos que lo componen, y una composición es unj tipo espacial de agregación.


Presentación en Prezi

Hora 1

Hojas 1,2,3

Tarea 1

Unidad 1.- Conceptos Básicos


Definición 1

La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe variedad de lenguajes de programación que soportan la orientación a objetos.


Definición 2

Un lenguaje orientado a objetos ataca estos problemas. Tiene tres características basicas: debe estar basado en objetos, basado en clases y capaz de tener herencia de clases. Muchos lenguajes cumplen uno o dos de estos puntos; muchos menos cumplen los tres. La barrera más difícil de sortear es usualmente la herencia.

El concepto de programación orientada a objetos (OOP) no es nuevo, lenguajes clásicos como SmallTalk se basan en ella. Dado que la OOP. se basa en la idea natural de la existencia de un mundo lleno de objetos y que la resolución del problema se realiza en términos de objetos, un lenguaje se dice que está basado en objetos si soporta objetos como una característica fundamental del mismo.

El elemento fundamental de la OOP es, como su nombre lo indica, el objeto. Podemos definir un objeto como un conjunto complejo de datos y programas que poseen estructura y forman parte de una organización.

Esta definición especifica varias propiedades importantes de los objetos. En primer lugar, un objeto no es un dato simple, sino que contiene en su interior cierto número de componentes bién estructurados. En segundo lugar, cada objeto no es un ente aislado, sino que forma parte de una organización jerárquica o de otro tipo.


Definición 3

La orientación a objetos es un paradigma de programación que facilita la creación de software de calidad por sus factores que potencian el mantenimiento, la extensión y la reutilización del software generado bajo este paradigma.

La programación orientada a objetos trata de amoldarse al modo de pensar del hombre y no al de la máquina. Esto es posible gracias a la forma racional con la que se manejan las abstracciones que representan las entidades del dominio del problema, y a propiedades como la jerarquía o el encapsulamiento.

El elemento básico de este paradigma no es la función (elemento básico de la programación estructurada), sino un ente denominado objeto. Un objeto es la representación de un concepto para un programa, y contiene toda la información necesaria para abstraer dicho concepto: los datos que describen su estado y las operaciones que pueden modificar dicho estado, y determinan las capacidades del objeto.

Java incorpora el uso de la orientación a objetos como uno de los pilares básicos de su lenguaje.


Definición Propia

La Programación Orientada a Objetos (POO u OOP) es un paradigma de programación que define los programas en términos de “clases de objetos”, objetos que son entidades que combinan estado (propiedades o datos), comportamiento (procedimientos o métodos) e identidad (propiedad del objeto que lo diferencia del resto).

La programación orientada a objetos expresa un programa como un conjunto de estos objetos, que colaboran entre ellos para realizar tareas. Esto permite hacer los programas y módulos más fáciles de escribir, mantener y reutilizar.
Trata de llevar los conceptos del mundo real a la programación, en el mundo real todo lo que nos rodea es un "objeto" un coche, un móvil, un ordenador.. que a su vez tienen cosas (más objetos) el movil tiene teclas...el movil sirve para llamar. Entonces en programación cada vez se trata de emular más como piensa una persona elevando la abstracción al programador de como funcionan internamente las cosas preocupandose más de hacerlas y no en como hacerlas.


Mapa Mental




Presentación en Prezi