Fundamentos De Programación 1
Enviado por franksama • 13 de Octubre de 2013 • 1.606 Palabras (7 Páginas) • 304 Visitas
INTRODUCCIÓN
El presente trabajo es para poder trascender y entender los fundamentos de programación orientada a objetos así como su historia y leguaje empleado en sus funciones.
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.
Conceptos fundamentales
• Clase
• Herencia
• Objeto
• Método
• Evento
• Atributos
• Mensaje
• Propiedad o atributo
• Estado interno
• Componentes de un objeto
• Identificación de un objeto
EVOLUCIÓN DE LA PROGRAMACIÓN
1962.- La historia de los LPOO comienza a finales de los años 60, con el lenguaje Simula, diseñado en el Norwegian Computing Centre.
1966.- Simula fue el primer lenguaje completamente orientado a objetos, estructurado mediante objetos y clases.
1967.- El Simula 67 fue considerado como el primer LPOO
Fue diseñado en 1967 por Ole-Johan Dhal y Kristen Nygaard en el Norwegian Computing Center en Oslo
1967.- Simula (1967) es aceptado como el primer lenguaje que posee las características principales de un lenguaje orientado a objetos. Fue creado para hacer programas de simulación, en donde los "objetos" son la representación de la información más importante.
1970.- Durante la década de los 70s la poca actividad en el tema la monopoliza Smalltalk
1970.- Smaltalk 72, creado por Alan Kay en Xerox Park, también diseñador de la primera computadora personal orientada a objetos. Las raíces fueron simula 67, versión totalmente orientada a objetos.
1972- 1980.- Smalltalk (1972 a 1980) es posiblemente el ejemplo canónico, y con el que gran parte de la teoría de la programación orientada a objetos se ha desarrollado.
1980.-Modula, la versión original de este lenguaje se llamo Modula-2 y fue desarrollada por Niklaus Wirth a mediados de la década de 1970 como descendiente directo a Pascal. Este lenguaje incluía concurrencia y ciertos aspectos de la orientación a objetos.
1980-1983.- Entre 1980 y 1983 Stroustrup desarrolla C++.
1983.-Ada, fue diseñado principalmente por Jean Ichibah del Departamento de la Defensa de Estados Unidos en 1977, para apoyar la programación a gran escala y promover la robustez del software.
1983.- Objective-C, este lenguaje fue diseñado por Brad Cox como una extensión a C pero con orientación a objetos. Contenía muchos aspectos inspirados en Smaltalk 80, se hizo popular debido a su utilización en la computadora NeXT.
CONCEPTOS FUNDAMENTALES DE LA PROGRAMACIÓN ORIENTADA A OBJETOS
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.
Técnicas utilizadas:
• Herencia: En orientación a objetos la herencia es, después de la agregación o composición, el mecanismo más utilizado para alcanzar algunos de los objetivos más preciados en el desarrollo de software como lo son la reutilización y la extensibilidad. A través de ella los diseñadores pueden crear nuevas clases partiendo de una clase o de una jerarquía de clases preexistente (ya comprobadas y verificadas) evitando con ello el rediseño, la modificación y verificación de la parte ya implementada. La herencia facilita la creación de objetos a partir de otros ya existentes e implica que una subclase obtiene todo el comportamiento (métodos) y eventualmente los atributos (variables) de su superclase.
• Cohesión: La cohesión mide cómo los componentes de un módulo de software o una clase de objetos de software se relacionan entre sí. Una buena programación aumenta la cohesión y disminuye la cantidad de acoplamiento
• Abstracción: La abstracción encarada desde el punto de vista de la programación orientada a objetos expresa las características esenciales de un objeto, las cuales distinguen al objeto de los demás. Además de distinguir entre los objetos provee límites conceptuales. Entonces se puede decir que la encapsulación separa las características esenciales de las no esenciales dentro de un objeto. Si un objeto tiene más características de las necesarias los mismos resultarán difíciles de usar, modificar, construir y comprender.
• Polimorfismo: En programación orientada a objetos el polimorfismo se refiere a la posibilidad de enviar un mensaje a un grupo de objetos cuya naturaleza puede ser heterogénea. El único requisito que deben cumplir los objetos que se utilizan de manera polimórfica es saber responder al mensaje que se les envía.
• Acoplamiento: El acoplamiento informático indica el nivel de dependencia entre las unidades de software de un sistema informático, es decir, el grado en que una unidad puede funcionar sin recurrir a otras; dos funciones son absolutamente independientes entre sí (el nivel más bajo de acoplamiento) cuando una puede hacer su trabajo completamente sin recurrir a la otra. En este caso se dice que ambas están desacopladas.
• Bajo acoplamiento: El bajo acoplamiento entre las unidades de software es el estado ideal que siempre se intenta obtener para lograr una buena programación o un buen diseño. Cuanto menos dependiente sean las partes que constituyen un sistema informático, mejor será el resultado.
Por ello, el objetivo final del diseño de software es reducir al máximo el acoplamiento entre componentes. Para ello, lo más importante es saber eliminar el
...