programación orientada a objetos parte 1

14
PROGRAMACION ORIENTADA A OBJETOS II Parte 1 Mtra. Karla Silva R 1

Upload: karla-silva

Post on 26-Jul-2015

83 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Programación Orientada a Objetos  parte 1

PROGRAMACIONORIENTADA A OBJETOS II

Parte 1

Mtra. Karla Silva R 1

Page 2: Programación Orientada a Objetos  parte 1

INTRODUCCION• Hace como 50 años, solamente una

computadora IBM7094 daba servicio a todala Universidad de Chicago. Ahora cualquierpersona puede tener más poder de cómputoen su laptop que ellos en ese momento.

• Allá por los 70´s era una noticia cuandoalguien conectaba una computadora conotra, simplemente al otro lado de la calle.Ahora es común usar emailstranscontinentales.

Mtra. Karla Silva R 2

Page 3: Programación Orientada a Objetos  parte 1

• Al principio las capacidades de hardware fueronaumentando muy rápido, abaratando los costos.

• Por el contrario, los desarrolladores de softwareseguían haciendo las mismas cosas en losmismos lenguajes.

• Esto hizo que los costos de HW estuvieran muypor debajo de los costos de SW.

• Los ingenieros de HW habían encontrado cómoreusar los esfuerzos de otras personas. Cosa queno hacían los ingenieros de SW, pues susprogramas eran únicos. Lo que resultaba muycaro y frecuentemente de poca calidad.

Mtra. Karla Silva R 3

Page 4: Programación Orientada a Objetos  parte 1

• Antes de la revolución industrial, la industria delas armas de fuego apenas era realmente unaindustria; se trataba más bien de una coalicióndispersa de artesanos individuales. Cada armade fuego era construida por un armeroindividual, que construía cada una de laspartes a partir de materias primas. Las armasde fuego así producidas eran muy caras, ycasa una de ellas era el producto de lainspiración personal de un cierto armero.

• La revolución se produjo cuano Eli Whitneyrecibió un gran contrato de fabricación parahacer mosquetes para el gobierno.

Mtra. Karla Silva R 4

Page 5: Programación Orientada a Objetos  parte 1

• La importancia de la POO es comparable a la quetuvo la innovación de las piezas intercambiablesproducida por Whitney, y por razones que son, engran parte, las mismas.

• Las dos redefinen la unidad de modularidad, de talmanera que los trabajadores producensubcomponentes en lugar de solucionescompletas. Los subcomponentes estáncontrolados mediante estándares y se puedenintercambiar entre productos distintos. Losprogramadores ya no construyen programascompletos a partir de materias primas, que son lassentencias y expresiones desnudas de un lenguajede programación en lugar de hacer esto, producencomponentes SW reutilizables, ensamblando loscomponentes de otros programadores.

Mtra. Karla Silva R 5

Page 6: Programación Orientada a Objetos  parte 1

POO VS LOO

• La programación orientada a objetos es una“filosofía”, un modelo de programación, con suteoría y su metodología, que conviene conocer yestudiar antes de nada.

• Un lenguaje orientado a objetos es un lenguaje deprogramación que permite el diseño deaplicaciones orientadas a objetos. Dicho esto, lonormal es que toda persona que vaya a desarrollaraplicaciones orientadas a objetos aprenda primerola “filosofía” (o adquiera la forma de pensar) ydespués el lenguaje, porque “filosofía” sólo hayuna y lenguajes muchos.

Mtra. Karla Silva R 6

Page 7: Programación Orientada a Objetos  parte 1

UNA FORMA NUEVA DE PENSAR

• Es muy importante destacar que cuandohacemos referencia a la programaciónorientada a objetos no estamos hablando deunas cuantas características nuevasañadidas a un lenguaje de programación.

• Estamos hablando de una nueva forma depensar acerca del proceso dedescomposición de problemas y dedesarrollo de soluciones de programación.

Mtra. Karla Silva R 7

Page 8: Programación Orientada a Objetos  parte 1

• La programación orientada a objetos surge en lahistoria como un intento para dominar lacomplejidad que, de forma innata, posee elsoftware.

• Tradicionalmente, la forma de enfrentarse a estacomplejidad ha sido empleando lo que llamamosprogramación estructurada, que consiste endescomponer el problema objeto de resolución ensubproblemas y más subproblemas hasta llegar aacciones muy simples y fáciles de codificar.

Mtra. Karla Silva R 8

Page 9: Programación Orientada a Objetos  parte 1

• Se trata de descomponer el problema enacciones, en verbos. En el ejemplo de unprograma que resuelva ecuaciones desegundo grado, descomponíamos elproblema en las siguientes acciones:primero, pedir el valor de los coeficientesa, b y c; después, calcular el valor deldiscriminante; y por último, en función delsigno del discriminante, calcular ninguna,una o dos raíces.

Mtra. Karla Silva R 9

Page 10: Programación Orientada a Objetos  parte 1

• La programación orientada a objetos esotra forma de descomponer problemas.Este nuevo método de descomposición esla descomposición en objetos; vamos afijarnos no en lo que hay que hacer en elproblema, sino en cuál es el escenarioreal del mismo, y vamos a intentar simularese escenario en nuestro programa.

Mtra. Karla Silva R 10

Page 11: Programación Orientada a Objetos  parte 1

• En el caso de los lenguajes orientados aobjetos, como es el caso de C++ y Java,el elemento básico no es la función, sinoun ente denominado precisamente objeto.

• Un objeto es la representación en unprograma de un concepto, y contiene todala información necesaria para abstraerlo:datos que describen sus atributos yoperaciones que pueden realizarse sobrelos mismos.

Mtra. Karla Silva R 11

Page 12: Programación Orientada a Objetos  parte 1

• La programación orientada a objetos esuna nueva forma de pensar, una maneradistinta de enfocar los problemas. Ahíradica la dificultad de aprender unlenguaje totalmente orientado a objetos,como es Java, sin conocer previamentelos pilares de la programación orientada aobjetos.

Mtra. Karla Silva R 12

Page 13: Programación Orientada a Objetos  parte 1

Si nos detenemos a pensar sobre cómo senos plantea un problema cualquiera en larealidad podremos ver que lo que hay en larealidad son entidades (otros nombres quepodríamos usar para describir lo que aquíllamo entidades son “agentes” u “objetos”).

Mtra. Karla Silva R 13

Page 14: Programación Orientada a Objetos  parte 1

Estas entidades poseen un conjunto de propiedades oatributos, y un conjunto de métodos mediante los cualesmuestran su comportamiento. Y no sólo eso, tambiénpodremos descubrir, a poco que nos fijemos, todo unconjunto de interrelaciones entre las entidades, guiadaspor el intercambio de mensajes; las entidades delproblema responden a estos mensajes mediante laejecución de ciertas acciones.

Mtra. Karla Silva R 14