You are on page 1of 11

(Universidad Iberoamericana) UNIBE

Lissette Ind. Pimentel Sosa. 11-1149 Dionely Torres Leclerc. Francisco Torvisco G. 11-1150 11-0402

Lgica y Lenguaje de Programacin I (Seccin 01) POO y Programacin Estructurada (Informe)

Willis Polanco

20/11/2012

Programacin 1

Introduccin

Dentro de la POO (Programacin orientada a objetos), se pueden destacar varias caractersticas, como Identidad, clasificacin, polimorfismo y herencia. Cada uno de estos conceptos puede utilizarse aisladamente, incluso aparecen en otras metodologas de programacin, pero juntos se complementan en una relacin sinrgica.

Por otro lado La programacin estructurada (PE), es un estilo de programacin con el cual el programador elabora programas, cuya estructura es la ms clara posible, mediante el uso de tres estructuras bsicas de control lgico, a saber: SECUENCIA. SELECCIN. ITERACIN.

La PE tiene un teorema estructural o teorema fundamental, el cual afirma que cualquier programa, no importa el tipo de trabajo que ejecute, puede ser elaborado utilizando nicamente las tres estructuras bsicas (secuencia, seleccin, iteracin ).

Programacin 1 Beneficios de la programacin orientada a objetos para un desarrollador.

Dentro de la POO (Programacin orientada a objetos), se pueden destacar varias caractersticas, como Identidad, clasificacin, polimorfismo y herencia. Cada uno de estos conceptos puede utilizarse aisladamente, incluso aparecen en otras metodologas de programacin, pero juntos se complementan en una relacin sinrgica.

Los beneficios de la programacin orientada a objetos son ms que los que pueden verse a simple vista. El nfasis en las propiedades esenciales de un objeto, fuerza al desarrollador a pensar cuidadosamente que es un objeto y que es lo que hace con el resultado de que el sistema es normalmente ms preciso, general y robusto que si pusiramos el nfasis en los procedimientos y los datos por separado.

Entre los principales beneficios de la programacin orientada a objetos se encuentran una mejora en la fiabilidad y una mayor productividad para el programador. Asimismo, tambin proporciona la oportunidad de modelar aplicaciones de forma ms natural y la estructura jerrquica de la programacin orientada a objetos hace que los programas sean ms fciles de disear y comprender.

Razones fundamentales que estn influyendo en la importancia de la POO Algunas de las causas que estn influyendo considerablemente en el notable desarrollo de las tcnicas orientadas a objetos son:

A. La POO (orientacin a objetos) es especialmente adecuada para realizar determinadas aplicaciones, sobre todo realizacin de prototipos y simulacin de programas B. Los mecanismos de encapsulacin de POO soportan un alto grado de reutilizacin de cdigo, que se incrementa por sus mecanismos de herencia. C. En el entorno de la base de datos, la POO se adjunta bien a los modelos semnticos de datos para solucionar las limitaciones de los modelos tradicionales. 3

Programacin 1 D. Aumento espectacular de los lenguajes de programacin orientados a objetos. E. Interfaces de usuarios grficos (por iconos) y visuales. Las interfaces de usuarios de una aplicacin manipulan la entrada y salida del usuario. Por consiguiente, su funcin principal es la comunicacin con el usuario final.

Cuadro Comparativo de la Programacin Estructurada y POO

POOPROGRAMACION ORIENTADA A OBJETOS (POO)

PROGRAMACION ESTRUCTURADA (PE)

Abstraccin:

Denota

las

Los programas son ms fciles de entender, ya que pueden ser ledos de forma secuencial. La estructura del programa es clara, puesto que las

caractersticas esenciales de un objeto, donde se capturan sus comportamientos. Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstraccin Principio de ocultacin: Cada objeto est aislado del exterior, es un mdulo natural, y cada tipo de objeto expone una interfaz a otros objetos que especfica cmo

instrucciones estn ms ligadas o relacionadas entre s. Reduccin del esfuerzo en las pruebas, por lo que los errores se pueden detectar y corregir ms fcil. Reduccin de los costos de mantenimiento programas. Programas ms sencillos y ms rpidos (ya que es ms fcil su de los

pueden interactuar con los objetos de la clase. Polimorfismo: diferentes, distintos, comportamientos a objetos el

optimizacin).

asociados pueden

compartir

mismo nombre, al llamarlos por ese nombre se utilizar el

comportamiento correspondiente al objeto que se est usando. 4

Programacin 1 Herencia: Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. Recoleccin de basura: La

Recoleccin de basura o Garbage Collector es la tcnica por la cual el ambiente de Objetos se encarga de destruir automticamente, y por tanto desasignar de la memoria, los Objetos que hayan quedado sin ninguna referencia a ellos.

Diferencias con la programacin estructurada y la POO.

Aunque la programacin estructurada (a veces llamada procedural o procedimental) condujo a mejoras de la tcnica de programacin secuencial, los mtodos modernos de diseo de software orientado a objetos incluyen mejoras entre las que estn el uso de los patrones de diseo, diseo por contrato, y lenguajes de modelado (ej.: UML).

Las principales diferencias entre la programacin estructurada y la orientada a objetos son: La programacin orientada a objetos es ms moderna, es una evolucin de la programacin estructurada que plasma en el diseo de una familia de lenguajes conceptos que existan previamente con algunos nuevos. La programacin orientada a objetos se basa en lenguajes que soportan sintctica y semnticamente la unin entre los tipos abstractos de datos y sus operaciones (a esta unin se la suele llamar clase). La programacin orientada a objetos incorpora en su entorno de ejecucin mecanismos tales como el polimorfismo y el envo de mensajes entre objetos.

Programacin 1

Retos que debe enfrentar un desarrollador acostumbrado a la programacin estructurada, para aprender la programacin orientada a objetos.

La programacin orientada a objetos aporta un nuevo enfoque a los retos que se plantean en la programacin estructurada cuando los problemas a resolver son complejos. Al contrario que la programacin procedimental (o PE), 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.

Lo primero es que un programador, o bien puede ser una empresa debe adaptarse a los nuevos lenguajes de programacin, para desarrollar las herramientas o aplicaciones necesarias y/o solicitadas. En el caso de las organizaciones si se quiere mantener en lo alto. Entre sus retos: Adaptacin ha dicho lenguaje. El cambio de hay en al manejo de la sintaxis La ejecucin de nuevos mecanismos (polimorfismo, etc)

Para facilitar ese proceso:

Por lo entendido de la parte anterior, podemos deducir que la forma mas fcil de adaptarse al sistema, es partiendo de lo mas bsico, puesto que el POO es mas moderno, es necesario iniciar desde lo bsico, para recavar todos lo necesario. A esto ayuda que ya se tenga una buena base de programacin, as que si la persona o institucin interesada en la implementacin de POO, y que ya tiene una base de PE, no debera serle tan difcil implementar algo nuevo, al menos no mas que a los que no tienen ninguna experiencia, ni una buena lgica.

La idea es disear formatos de datos que se correspondan con las caractersticas esenciales de un problema. Los lenguajes orientados combinan en una nica unidad o 6

Programacin 1 mdulo, 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 la funcin miembro del objeto. Ninguna otra funcin puede acceder a los datos. Esto simplifica la escritura, depuracin y mantenimiento del programa.

Ejemplos de POO en Java:

Al contrario que C++, Java realiza la definicin e implementacin de la clase en el mismo lugar, en un nico fichero .java Java class Cuenta { long numero; String titular; float saldo; float interesAnual; void ingreso(float cantidad) { saldo += cantidad; } void reintegro(float cantidad) { saldo = cantidad; } void ingresoInteresMes() { saldo += interesAnual * saldo / 1200; } boolean enRojos() { return saldo < 0; } float leerSaldo() { return saldo; }

Programacin 1

Ejemplo de POO en python:

Las clases de Python no tienen constructores o destructores explcitos. Las clases de Python tienen algo similar a un constructor: el mtodo __init__.

Programacin 1

Ejemplo de POO Visual Basic .Net:

En Visual Basic .NET, la definicin de clase es muy similar a la definicin de la misma en cualquier lenguaje orientado a objetos. Esta versin .NET incluye como novedad que no es necesario crear un mdulo independiente para cada clase.

Class Ficha Private Pnombre As String Private Pdireccion As String Private Pdepartamento As String Private Pidempleado As Integer

//La propiedad Nombre slo puede leerse, al igual que sucede con Direccin.

Public ReadOnly Property Nombre() As String Get Return Pnombre End Get End Property // La propiedad Departamento puede leerse y escribirse, al igual que sucede con Idempleado. Public Property Departamento() As String

Get Return Pdepartamento End Get Set (ByVal Value As String) Pdepartamento = Value End Set End Property

End Class

Programacin 1

Conclusin

En definitiva, la tecnologa de objetos es una poderosa fuerza detrs de la creacin de software ms productivo y econmico y su puesto en el mundo de la informtica est bien asentado y se encuentra en crecimiento constante. Cualquier profesional de los sistemas de informacin que lleve en su puesto de trabajo ms de seis meses siempre se mostrar escptico acerca de cualquier sugerencia sobre los beneficios que reportar el simple hecho de adoptar una nueva tecnologa.

10

Programacin 1

Referencias. Bloodshed, Programacin orientada a objetos versus programacin estructurada


http://www.bloodshed.net/

T. Montero Ripoll, R. del Nogal Snchez, Introduccin A La Programacin Orientada A Objetos En Visual Basic .Net (2003), Departamento de Informtica y Automtica, Universidad de Salamanca. http://guille.costasol.net/NET/cursoVB.NET G. Guillermo Prez, Aprendiendo Java y Programacin Orientada a Objetos, http://compunauta.com/forums/linux/programacion/java/ebook.html

J. Padilla Agudelo, Python: Programacin Orientada a Objetos, www.python.org

11

You might also like