Академический Документы
Профессиональный Документы
Культура Документы
INTRODUCCION
El siguiente trabajo que es presentado a Ud. lleva por título: “PROGRAMACIÓN ORIENTADA
A OBJETOS”. Este material realizado con esfuerzo y dedicación tiene como único propósito
que nosotros como alumnos de la Facultad de Ingeniería de Sistemas e Informática (FISI)
tenga conocimiento en forma detallada acerca de los tipos de algoritmos, tanto textuales
como gráficos.
Este trabajo proporciona la base teórica y práctica la cual es necesaria para comprender el
actual paradigma de programación orientada a objetos.
Finalmente el objetivo es conocer y dar a conocer a todos los alumnos interesados sobre
el tema una información actualizada y veraz detallando los mínimos detalles que el autor
plasma en sus investigaciones.
Este trabajo se realizo en un lapso de cuatro horas del día 21 de septiembre de 2010 en la
ciudad de Iquitos – Peru.
21 de
ALGORITMO Y ESTRUTURAS DE DATOS II septiembre
de 2016
ORIGENES
La programación orientada a objetos aporta un nuevo enfoque a los retos que se plantean
en la programación estructurada cuando los problemas a resolver son complejos. Al
contrario que la programación procedimental que enfatiza en los algoritmos, la POO
enfatiza en los datos. En lugar de intentar ajustar un problema al enfoque procedimental
de un lenguaje, POO intenta ajustar el lenguaje al problema. La idea es diseñar formatos de
datos que se correspondan con las características esenciales de un problema. Los lenguajes
orientados combinan en una única unidad o módulo, tanto los datos como las funciones
que operan sobre esos datos. Tal unidad se llama objeto. Si se desea modificar los datos de
un objeto, hay que realizarlo mediante las funciones miembro del objeto. Ninguna otra
función puede acceder a los datos. Esto simplifica la escritura, depuración y mantenimiento
del programa.
En el paradigma orientado a objetos, el programa se organiza como un conjunto finito de
objetos que contienen datos y operaciones (funciones miembro en C++) que llaman a esos
datos y que se comunican entre sí mediante mensajes.
CONCEPTOS FUNDAMENTALES
si esos atributos y operaciones hubiesen sido definidos por la misma D. Por lo tanto,
puede usar los mismos métodos y variables publicas declaradas en C. Los
componentes registrados como "privados" (private) también se heredan, pero como
no pertenecen a la clase, se mantienen escondidos al programador y sólo pueden
ser accedidos a través de otros métodos públicos. Esto es así para mantener
hegemónico el ideal de OOP.
Objeto: entidad provista de un conjunto de propiedades o atributos (datos) y de
comportamiento o funcionalidad (métodos) los mismos que consecuentemente
reaccionan a eventos. Se corresponde con los objetos reales del mundo que nos
rodea, o a objetos internos del sistema (del programa). Es una instancia a una clase.
Método: Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución
se desencadena tras la recepción de un "mensaje". Desde el punto de vista del
comportamiento, es lo que el objeto puede hacer. Un método puede producir un
cambio en las propiedades del objeto, o la generación de un "evento" con un nuevo
mensaje para otro objeto del sistema.
Evento: Es un suceso en el sistema (tal como una interacción del usuario con la
máquina, o un mensaje enviado por un objeto). El sistema maneja el evento
enviando el mensaje adecuado al objeto pertinente. También se puede definir como
evento, a la reacción que puede desencadenar un objeto, es decir la acción que
genera.
Mensaje: una comunicación dirigida a un objeto, que le ordena que ejecute uno de
sus métodos con ciertos parámetros asociados al evento que lo generó.
Propiedad o atributo: contenedor de un tipo de datos asociados a un objeto (o a
una clase de objetos), que hace los datos visibles desde fuera del objeto y esto se
define como sus características predeterminadas, y cuyo valor puede ser alterado
por la ejecución de algún método.
Estado interno: es una variable que se declara privada, que puede ser únicamente
accedida y alterada por un método del objeto, y que se utiliza para indicar distintas
situaciones posibles para el objeto (o clase de objetos). No es visible al programador
que maneja una instancia de la clase.
Componentes de un objeto: atributos, identidad, relaciones y métodos.
Identificación de un objeto: un objeto se representa por medio de una tabla o
entidad que esté compuesta por sus atributos y funciones correspondientes.
CARACTERÍSTICAS DE LA POO
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. 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.
ABAP
ABL Lenguaje de programación de OpenEdge de Progress Software
ActionScript
ActionScript 3
Ada
C++
C#
Clarion
Clipper (lenguaje de programación) (Versión 5.x con librería de objetos Class(y))
D
21 de
ALGORITMO Y ESTRUTURAS DE DATOS II septiembre
de 2016
Al igual que C++ otros lenguajes, como OOCOBOL, OOLISP, OOPROLOG y Object REXX, han
sido creados añadiendo extensiones orientadas a objetos a un lenguaje de programación
clásico.
PROGRAMACIÓN ORIENTADA
A OBJETOS VERSUS PROGRAMACIÓN
ESTRUCTURADA: C++ Y ALGORITMOS
CONCEPTO DE ALGORITMO
• Un algoritmo debe estar bien definido. Si se sigue un algoritmo dos veces, se debe obtener
el mismo resultado cada vez.
• Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún
momento; o sea, debe tener un número finito de pasos.
La definición de un algoritmo debe describir tres partes: Entrada, Proceso y Salida.
PROGRAMACIÓN ESTRUCTURADA
controlar ese gran número de instrucciones. Para resolver este problema los programas se
descomponen en unidades más pequeñas que adoptan el nombre de funciones
(procedimientos, subprogramas o subrutinas en otros lenguajes de programación). De este
modo un programa orientado a procedimientos se divide en funciones,
cada una de las cuales tiene un propósito bien definido y resuelve una tarea concreta, y se
diseña una interfaz claramente definida (el prototipo o cabecera de la función) para su
comunicación con otras funciones.
Con el paso de los años, la idea de romper un programa en funciones fue evolucionando y
se llegó al agrupamiento de las funciones en otras unidades más grandes llamadas módulos
(normalmente, en el caso de C++, denominadas archivos o ficheros); sin embargo, el
principio seguía siendo el mismo: agrupar componentes que ejecutan listas de instrucciones
(sentencias).
Existen varias razones de la debilidad de los programas estructurados para resolver
problemas complejos. Tal vez las dos razones más evidentes son éstas. Primera, las
funciones tienen acceso ilimitado a los datos globales; segundos, las funciones inconexas y
datos, fundamentos del paradigma procedimental proporcionan un modelo pobre del
mundo real. La programación orientada a objetos se desarrolló para tratar de paliar
diversas limitaciones que se encontraban en anteriores enfoques de programación.
La programación orientada a objetos aporta un nuevo enfoque a los retos que se plantean
en la programación estructurada cuando los problemas a resolver son complejos. Al
contrario que la programación procedimental que enfatiza en los algoritmos, la POO
enfatiza en los datos. En lugar de intentar ajustar un problema al enfoque procedimental
de un lenguaje, POO intenta ajustar el lenguaje al problema. La idea es diseñar formatos de
datos que se correspondan con las características esenciales de un problema. Los lenguajes
orientados combinan en una única unidad o módulo, tanto los datos como las funciones
que operan sobre esos datos. Tal unidad se llama objeto. Si se desea modificar los datos de
un objeto, hay que realizarlo
mediante las funciones miembros
del objeto. Ninguna otra función
puede acceder a los datos. Esto
simplifica la escritura, depuración
y mantenimiento del programa.
En el paradigma orientado a
objetos, el programa se organiza
como un conjunto finito de objetos
que contienen datos y operaciones
(funciones miembro en C++) que
21 de
ALGORITMO Y ESTRUTURAS DE DATOS II septiembre
de 2016
grado de "afinidad" entre sus contenidos: funciones, eventos, etc... Una clase que no sabe
lo que hace es una clase que no sirve.
Por otro lado, una clase que no sabe delegar información (dar a conocer su funcionamiento
superficialmente) conduce a una mala modularidad.
Programación Estructurada
BIBLIOGRAFIA
WWW.GOOGLE.COM
WWW.MONOGRAFIAS.COM
WWW.WIKIPEDIA.COM
WWW.ELRINCONDELVAGO.COM