martes, 28 de febrero de 2012

PRINCIPAL

UNIDAD NO.I  CONCEPTOS BÁSICOS


UNIDAD NO.II  EL PARADIGMA DE ORIENTACIÓN A OBJETOS


cuestionario

1.- ¿Qué es un paradigma de programación?
Es una propuesta tecnológica que es adoptada por una comunidad de programadores cuyo núcleo central es incuestionable en cuanto a que unívocamente trata de resolver uno o varios problemas claramente delimitados
2.- ¿Qué es la programación Orientada a Objetos (POO)?
Es un paradigma de programación que usa objetos y sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, abstracción, polimorfismo y encapsulamiento
3.- ¿Cuáles son los componentes de la Programación Orientada a Objetos (POO)? 
Objeto, clase, polimorfismo,encapsulamiento, herencia.
4.- ¿Explica brevemente que es la abstracción?
Es el denota las características esenciales de un objeto, donde se capturan sus comportamientos.
5.- ¿Es la 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?
La abstracción
6.- ¿Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción? ¿Por qué?
Porque, 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.
7.- ¿Menciona una breve descripción de la modularidad?
Se denomina Modularidad a la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas módulos).
8.- ¿Cuáles son las características de la POO?
Abstracción, encapsulamiento, modularidad, polimorfismo, herencia.
9.- ¿Cuáles la definición de polimorfismo?
Son 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.


10.- ¿Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen? ¿Por qué?
La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes.
11.- ¿por qué se dice que una clase es una plantilla o un prototipo para crear objetos?
Se dice que los objetos son instancias de clases.
12.- ¿Fue creado para hacer programas de simulación, en donde los "objetos" son la representación de la información más importante?
Lenguajes orientados a objetos
14.- ¿Menciona algunos lenguajes de programación orientada a objetos?
Ada++  ,C# , Clarión  ,Clipper (lenguaje de programación) (Versión 5.x con librería de objetos Class(y))D , Object Pascal (Embarcadero Delphi) ,Gambas ,Harbour,Eiffel ,Java ,JavaScript (la herencia se realiza por medio de la programación basada en prototipos),etc.
15.- ¿Qué es una clase en programación orientada a objetos?
 Son 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.
16.- ¿Por qué la herencia es como la característica que tienen los objetos de derivarse unos de otros?
Un objeto es heredero de otro cuando posee todas sus propiedades y todos sus métodos y reconoce todos sus eventos, aunque pueda disfrutar de propiedades, métodos y eventos adicionales.
17.- ¿Menciona algún ejemplo de objeto?
Los objetos reales del mundo que nos rodea, o a objetos internos del sistema (del programa).
18.- ¿Qué es un método en programación orientada a objetos?
Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena tras la recepción de un "mensaje".
19.- ¿Es un suceso en el sistema (tal como una interacción del usuario con la máquina, o un mensaje enviado por un objeto).?
Evento
20.- ¿Menciona algunos componentes de un objeto?
Atributos, identidad, relaciones y métodos.
Unidad No.II El Paradigma de Orientación a Objetos

2.1 Componentes de la Programación Orientada a Objetos.


2.1.1 ¿QUÉ ES UNA CLASE?

1.-Una clase es una plantilla que define las variables y los métodos que son comunes para todos los objetos de un cierto tipo.

2.-Los datos y las operaciones comunes a un conjunto de objetos forman un conjunto que se conoce como clase.

3.-Los objetos están organizados en familias claramente delimitadas. Una familia se reconoce porque reúne un grupo de objetos que heredan elementos entre sí. El modelo de programación visual, al igual que la naturaleza, organiza los objetos en clases (familias), así una clase es el conjunto de objetos que pertenecen a una misma familia.

2.1.2¿QUÉ ES UN OBJETO?

1.- entidad compuesta de unos datos y las operaciones que realizamos sobre esos datos.

2.-Un objeto no es más que un conjunto de variables (o datos) y métodos (o funciones) relacionados entre sí.

3.-Los objetos son entidades que se pueden distinguir de manera clara y definida, ejemplos de un objeto pueden ser una persona, un libro, un botón de orden.

2.1.3 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.
Cada vez que se crea un objeto el sistema crea una copia de todas las variables que están vinculadas con dicha clase haciéndolas propias de esa instancia y solamente pudiéndose acceder a ellas a través del identificador del objeto.
Estas variables son declaradas fuera de los métodos y dentro de la clase, y son de tipo global por lo tanto las pueden utilizar cualquier método no estático de esa clase, pero para acceder desde métodos estáticos es necesario instanciar la clase con un objeto.
2.1.4  Métodos.
En la programación orientada a objetos, 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). Análogamente a los procedimientos en los lenguajes imperativos, un método consiste generalmente de una serie de sentencias para llevar a cabo una acción, un juego de parámetros de entrada que regularán dicha acción y o, posiblemente, un valor de salida (o valor de retorno) de algún tipo.
Algunos lenguajes de programación asumen que un método debe de mantener el invariante del objeto al que está asociado asumiendo también que éste es válido cuando el método es invocado. En lenguajes compilados dinámicamente, los métodos pueden ser objetos de primera clase, y en este caso se puede compilar un método sin asociarse a ninguna clase en particular, y luego asociar el vínculo o contrato entre el objeto y el método en tiempo de ejecución. En cambio en lenguajes no compilados dinámicamente o tipados estáticamente, se acude a precondiciones para regular los parámetros del método y postcondiciones para regular su salida (en caso de tenerla). Si alguna de las precondiciones o postcondiciones es falsa el método genera una excepción. Si el estado del objeto no satisface la invariante de su clase al comenzar o finalizar un método, se considera que el programa tiene un error de programación.

2.4 Herencia:

Un objeto es heredero de otro cuando posee todas sus propiedades y todos sus métodos y reconoce todos sus eventos, aunque pueda disfrutar de propiedades, métodos y eventos adicionales. Se define la herencia como la característica que tienen los objetos de derivarse unos de otros.


2.3  Encapsulamiento:

Un objeto está separado del medio que lo rodea por algún tipo de envoltura. Esta separación es la que determina la unidad del objeto, es decir, lo convierte en algo independiente. La envoltura oculta los detalles relacionados con la construcción interior del objeto, esto significa que sólo conocemos del objeto aquello que es revelado por sus métodos. Se llama encapsulamiento a la propiedad que tienen los objetos de ocultar detalles internos, así se permite asegurar que el contenido de la información de un objeto este oculta al mundo exterior (Por ejemplo un objeto A no conoce lo que hace un objeto B y viceversa).

viernes, 10 de febrero de 2012

Unidad 1. conceptos basicos

Tema 1.1. Introducción.

Tradicionalmente, la programación fue hecha en una manera secuencial o lineal, es decir una serie de pasos consecutivos con estructuras consecutivas y bifurcaciones.

La POO viene de la evolución de la programación estructurada; básicamente la POO simplifica la programación con la nueva filosofía y nuevos conceptos que tiene. La POO se basa en la dividir el programa en pequeñas unidades lógicas de código. A estas pequeñas unidades lógicas de código se les llama objetos. Los objetos son unidades independientes que se comunican entre ellos mediante mensajes

La programación orientada a objetos es un paradigma que utiliza objetos como elementos fundamentales en la construcción de la solución. Surge en los años 70. Un objeto es una abstracción de algún hecho o ente del mundo real que tiene atributos que representan sus características o propiedades y métodos que representan su comportamiento o acciones que realizan. Todas las propiedades y métodos comunes a los objetos se encapsulan o se agrupan en clases. Una clase es una plantilla o un prototipo para crear objetos, por eso se dice que los objetos son instancias de clases.

Tema 1.2 Definiciónes de Programación Orientada a Objetos
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 objetos y sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, abstracción, polimorfismo 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.

2:

Programación Orientada a Objetos (P.O.O.)
Es un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representa una instancia de alguna clase, y cuyas clases son miembros de una jerarquía de clases unidas mediante relaciones de herencia

3:
La POO no es tanto una técnica de codificación como una técnica de empaquetamiento del código, una forma con la que los proveedores de código pueden encapsular la funcional para suministrársela a los que la consumen.

En conclusion la programación orientada a objetos (OOP) no es un lenguaje de programación, sino un modelo de programación con su teoría y su metodología, que conviene conocer y estudiar. Puede aplicarse a cualquier lenguaje, y de hecho hoy en día está disponible en mayor o menor medida en todos los lenguajes tradicionales (C se ha convertido en C++, Pascal en Delphi, VB, etc.Incorpora parte de la OOP y no aparece un lenguaje nuevo sin que incluya OOP (como es el caso de Java).Es por esto que intentaremos que todo lo que aquí se diga pueda ser aplicado a cualquier lenguaje OOP.

Bibliografia:
***Abdiel E. Cáceres González
Centro de Investigación y de Estudios Avanzados – IPN
México D.F., México.2004

Tema 1.3  Lenguajes de alto nivel


¿Qué es un lenguaje de alto nivel?


Un lenguaje de alto nivel permite al programador escribir las instrucciones de un programa utilizando palabras o expresiones sintácticas muy similares al inglés. Por ejemplo, en C se pueden usar palabras tales como: case, if, for, while, etc. para construir con ellas instrucciones como:

if( numero > 0 ) printf( "El número es positivo" )

que traducido al castellano viene a decir que: si numero es mayor que cero, entonces, escribir por pantalla el mensaje: "El número es positivo".
Ésta es la razón por la que a estos lenguajes se les considera de alto nivel, porque se pueden utilizar palabras de muy fácil comprensión para el programador. En contraposición, los lenguajes de bajo nivel son aquellos que están más cerca del "entendimiento" de la máquina.
Principales lenguajes de alto nivel
Resumen de la unidad.mapamental