materia : programacion 5 tema: ejemplos del resumen magister ing. divas sanjur s. presentado por :...

40
MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura. Sistemas Informáticos Año: 2011 Domingo Lunes Martes Miercoles Jueves Viernes Sabado 24/06/2 2 ACTIVIDAD EN CASA Abr Mar Feb Ene DIA Ago Jun May Jul Sep Oct Nov Dic. PROGRAMACION JAVA

Upload: virginia-mercedes-sandoval-marin

Post on 23-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

MATERIA PROGRAMACION 5

Tema EJEMPLOS DEL RESUMEN

MAGISTERING DIVAS SANJUR S

bull Presentado por Geovany A Guerra

CIP 4 ndash 718 ndash 53

bull Nivel Licenciatura Sistemas

Informaacuteticosbull Antildeo 2011

Domingo Lunes Martes Miercoles Jueves Viernes Sabado

210423

ACTIVIDAD EN CASAACTIVIDAD EN CASA

AbrMarFebEne

DIA

AgoJunMay Jul Sep Oct Nov Dic

PROGRAMACION JAVA PROGRAMACION JAVA

TABLA DE CONTENIDO

PRESENTACIONbull HISTORIAbull EVOLUCIONbull CLASIFICACIONbull CARACTERISTICAS

bull LPOO REPRESENTATIVOS

bull REFERENCIASbull LECTURAS

COMPLEMENTARIAS

INDICE

bull INVESTIGACIONbull EJEMPLOS

bull GLOSARIO ldquoescritordquobull ILUSTRACIONES

bull CONCLUSIONbull BIBLIOGRAFIAbull INFOGRAFIA

JAVAJAVA

2 Clasificacion de los POO

Proyeccioacuten de las PC

SIMULA

1966 1970 1980 1990

Esta inicia a finales de los antildeos60 con el lenguaje simula disentildeado x norwegian computin centre seguido la decada de los 70 se monopoliza smartal en los 80 el auge de los POOentre los 80-83 stroutup desarrolla C++ y en los noventas la innovacion tecnologica de la tecnologia orientada a

objetos

Arquitecturas nuevas

SMARTALK 72

SMARTALK 80 C++

Objetive ndashc Eiffel

OO COBOL

ADA 95 SQL3 Delphi JAVA

bull EPOCAS DE LA HISTORIA DE LOS POO

CONEXION JAVACONEXION JAVA

NS OBJECT

NS OBJECT

NS RESPONDER

NS VIEW

NS CONTROL

Objeto base init retain release

Objeto base init retain release

Objeto base init retain release

Objeto base init retain release

NS OBJECTNS OBJECT NS OBJECT

OP OO

EJEMPLOSEJEMPLOSENTRADA

SALIDA

ENTRADA

SALIDA

PROCEDIMIENTOS A

PROCESOS A

PASOS A

OBJETOS A

ATRIBUTOS

METODOS

OBJETOS B

ATRIBUTOS

METODOS

OBJETOS C

ATRIBUTOS

METODOS

2121Existen varias clasificaciones de los LPOO

atendiendo a criterios de construccioacuten ocaracteriacutesticas especiacuteficas de los mismos

bull Clasificacioacuten de Peter Wegnerbull Clasificacioacuten de Teslerbull Clasificacioacuten seguacuten el origen

Clasificacioacuten deWegner bull Lenguajes Basados en Objetos Soportan objetos Es decirdisponen de componentes caracterizados por un conjunto deoperaciones (comportamiento) y un estadobull Lenguajes Basados en Clases Disponen ademaacutes de objetosde componentes tipo clase con operaciones y estado comuacutenbull Lenguajes Orientados al Objeto Ademaacutes de objetos y clasesofrecen mecanismos de herencia

Clasificacioacuten de WegnerBasado en objeto = encapsulamiento +identidad de objetosbull Basado en clases = basado en objetos +abstraccioacuten de conjuntobull Orientados a objetos = Basados en clases +herencia + autorrecursioacuten

BASADO EN OBJETOS

BASADO EN CLASES

ORIENTADO AL OBJETO

OBJETOS

ADA 95

C++

EIFFIEL

SMARLLTALK

DELPHI

ADA 873

CLIPPER 52

+ CLASES

+ HERENCIAS

CLU

Clasificacioacuten de Tesler

OODLObject ndash Oriented

Dinamic LanguajesSmalltlk Dylan

PODLProcess ndash Oriented Dinamic Languajes

Lisp Schame

OOSLObject ndash Oriented Static Languajes

C + +JAVA

POSLProcess-oriented Static Languajes

Pascal C

Dinamicos

Estaticos

Orientados al objetoOrientados al proceso

2323Clasificacioacuten de Tesler

Comprobacion estrictaComprobacion debilSin tipos

Un sistema de tipos son las reglas que la

establecen la utilizacion de los tipos su

correccion en un lenguaje de modelado o

relizacion

Chequeo de momento

Smalltalk

Dinamico

Rigurosidad

Sin Tipos

CLASIFICACION DE TESLER

Clasificacioacuten de Tesler

Beneficios del uso de lenguajes con tiposestrictosndash Evitan los fallos en tiempo de ejecucioacutenderivados de conflictos con los tiposndash Deteccioacuten temprana en tiempo de compilacioacutende erroresndash Declaracioacuten de tipos como ayuda para ladocumentacioacutenndash Eficiencia en el coacutedigo

Clasificacioacuten de Tesler

Tipificacioacuten o tipado (ldquotypingrdquo) es el proceso dedeclarar cuaacutel es el tipo de informacioacuten que puede

contener una variable

Sistemas de tipos estaacuteticosbull Tambieacuten llamados sistemas contipado fuerte o estrictobull Exigen asociacioacuten expliacutecita de un tipoa cada nombre declaradobull El tipo de cada objeto se ha de determinarcon anterioridad a la ejecucioacuten del programabull Menos flexible pero maacutes segurabull Ejecucioacuten maacutes eficiente al no tener quehacer comprobacioacuten de tipos en tiempo deEjecucioacuten

Sistemas de tipos dinaacutemicosbull Tambieacuten llamados sistemas con tipadodeacutebilno estricto o dinaacutemicobull No exigen asociacioacuten expliacutecita de un tipoa cada variablebull Cada objeto conoce su tipo cuando se creadurante la ejecucioacutenbull Maacutes flexibilidadbull Peacuterdida de eficiencia durante la ejecucioacuten delprograma debida a la necesidad de mantenery comprobar el tipo de todos los objetosdurante la ejecucioacuten

Clasificacioacuten de Tesler

Ligadura es el proceso de asociar un atributo a un nombreEn el caso de las funciones el teacutermino ligadura (binding) serefiere a la conexioacuten o enlace entre una llamada a funcioacuteny el coacutedigo real ejecutado como resultado de la llamada[Joyanes 1998]

Ligadura estaacutetica otemprana

Ligadura dinaacutemica otardiacutea

Clasificacioacuten de Tesler

Ligadura estaacutetica o temprana

ndash Resuelve las correspondencias en tiempo de compilacioacutenndash No hay sobrecarga en tiempo de ejecucioacuten y los fallos se detectanen tiempo de compilacioacutenndash Los enlaces no pueden hacerse sin volver a compilar

bull Ligadura dinaacutemica o tardiacutea

ndash La correspondencia se hace al invocar los meacutetodosndash Soporta la evolucioacuten de los programas sin tener que recompilarndash Coste en tiempo de ejecucioacuten

No hay garantia de interpretacionInterpretacion

flexible SMALLTALK

Garantia de correccion Interpretacion flexibleC++ OBJECT PASCAL

Combinacion No Valida Sin Sentido

GaraniaDe correccionInterpretacion

inflexible

C COBOL

Dinamicos

Estaticos

Comprobacion dinamica

Comprobacion Estatica

Clasificacioacuten de Tesler

Clasificacioacuten seguacuten el

Origen

Lenguajes purosLenguajes Hibridos

Smalltalk Eiffel

C ++ OBJECT PASCAL

Objetos Mensajes

Clases

Objetos Mensajes

Clases

Lenguajes con base tradicional

+

Clasificacioacuten seguacuten elOrigen

Caracteriacutesticas de losLPOO

31 Elementos Concretos

Requisitos Deseablesen los LPOO

Conceptos clarosbull Orientacioacuten al Objetopurabull Seguridadbull Alto nivelbull Modelo de ejecucioacutensimplebull Sintaxis faacutecil de leer

bull Eliminacioacuten de laredundanciabull Pequentildeobull De faacutecil transicioacuten aotros lenguajesbull Soporte para elaseguramiento de lacorreccioacutenbull Entornos agradables

Revisioacuten de algunos delos Principales LPOO

41 SIMULA

El Simula 67 fue considerado como elprimer LPOO

bull Fue disentildeado en 1967 por Ole-Johan Dhaly Kristen Nygaard en el Norwegian

Computing Center en Oslobull El nombre de Simula 67 fue acortado a

Simula en 1986 existiendo un estaacutendar dellenguaje desde 1987 [SIS 1987]

- Primer lenguaje creado con tecnologiacutea de objetos puros- El origen de Smalltalk estaacute alrededor de 1970 en la Universidad de Utahde la mano de Alan Kay- Smalltalk se desarrolla en el Xerox Palo Alto Research Center (PARC)de la mano de Alan Kay Adele Goldberg y Daniel Ingalls- Los conceptos de Smalltalk han influido en el disentildeo de LPOO y en el aspectoy sensacioacuten de los GUI como los de Macintosh o Motif- Smalltalk 72 Smalltalk 74 Smalltalk 76 Smalltalk 78 y Smalltalk 80- SmalltalkV de Digital- Entorno de programacioacuten Lenguaje Smalltalk baacutesico Coleccioacuten de clases y elentorno real de programacioacuten- El estilo del lenguaje se enfatiza la ligadura dinaacutemica y no realiza chequeo detipos- El bloque fundamental es la clase que contiene la descripcioacuten de variables ymeacutetodos- Los meacutetodos contienen el coacutedigo y definen coacutemo responde un objeto a unmensaje

SMALLTALK

- La ejecucioacuten de una rutina de un objeto se denomina en la terminologiacutea deSmalltalk ldquoenviar un mensajerdquo al objeto cuya clase encontraraacute la formaapropiada de manejar dicho mensaje- Todo en Smalltalk son objetos incluyendo a las propias clases- El entorno de Smalltalk permite un raacutepido desarrollo de programas- La biblioteca de clases fue disentildeada para ser extendida y adaptada por adicioacutende subclases para satisfacer las necesidades de la aplicacioacuten- La arquitectura ModeloVistaControlador (MVC) es una importante contribucioacutende Smalltalk- Una referencia claacutesica sobre Smalltalk es [Goldberg and Robson 1983]

43 C++

- C++ es un lenguaje hiacutebrido extensioacuten del lenguaje C- Fue desarrollado por Bjarne Stroustrup en los laboratorios ATampT- Las primeras versiones del lenguaje se denominaron C con clasesy datan de 1980- El nombre de C++ se debe a Rick Mascitti quien lo bautizoacute de estamanera en el verano de 1983- C++ fue instalado por primera vez fuera del grupo de investigacioacutendel autor en julio de 1983- En 1987 surge la necesidad de estandarizacioacuten de C++- Dispone de capacidades para la herencia simple y muacuteltiple- Por defecto C++ tiene ligadura estaacutetica- Las funciones definidas como virtuales pueden beneficiarse delconcepto de ligadura dinaacutemica

C++ es estrictamente tipado aunque admite la posibilidad de casting- No cuenta con un recolector de basura- La ausencia de un gestor automaacutetico de memoria por defecto obligaal concepto de destructor- Ocultamiento de la informacioacuten incluso a los descendientes- Cuenta con un mecanismo de acceso especial por parte de una clase ouna funcioacuten que se declare como friend- Soporte de manejo de excepciones- Soporte de genericidad mediante las plantillas- Permite sobrecarga de operadores- Sintaxis oscura y gramaacutetica difiacutecil de analizar- Lenguaje complejo preocupado por la deteccioacuten temprana de erroresy por la eficiencia de la ejecucioacuten perdiendo algo de sencillez y deflexibilidad para el disentildeo- [Stroustrup 1997] es una referencia vaacutelida para este lenguaje

Eiffel

- Eiffel fue desarrollado por Bertrand Meyer- Es un lenguaje orientado al objeto puro- Soporta ligadura dinaacutemica- Tiene comprobacioacuten estricta de tipos- Admite herencia muacuteltiple- Soporta clases parametrizadas- La gestioacuten de memoria la lleva a cabo el entorno de programacioacuten- Eiffel proporciona una biblioteca de clases predefinidas muy completa- Eiffel cuenta con la clase como uacutenico criterio de estructuracioacuten- Una declaracioacuten de clase en Eiffel puede incluir una lista de caracteriacutesticasexportadas una lista de clases predecesoras y una lista de declaraciones decaracteriacutesticas- Cuenta con manejo de excepciones- [Meyer 1992] es una de las referencias obligadas aunque con unas mirasmaacutes amplias se recomienda [Meyer 1997]

-Disentildeo por contrato

bull Precondiciones que deben cumplirse antes de que se invoque un meacutetodobull Postcondiciones que se garantizan han de cumplirse despueacutes de que sehaya ejecutado el meacutetodobull Invariantes condicioacuten que debe cumplir la clase en toda circunstanciaestablebull Un contrato entre el proveedor y el usuario de una clase espera que1048670 El usuario de una clase aseguraraacute que las precondiciones de un meacutetodose cumplan antes de que el meacutetodo se invoque1048670 El proveedor de la clase garantizaraacute que las postcondiciones se cumplandespueacutes que se ha aplicado el meacutetodo

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 2: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

TABLA DE CONTENIDO

PRESENTACIONbull HISTORIAbull EVOLUCIONbull CLASIFICACIONbull CARACTERISTICAS

bull LPOO REPRESENTATIVOS

bull REFERENCIASbull LECTURAS

COMPLEMENTARIAS

INDICE

bull INVESTIGACIONbull EJEMPLOS

bull GLOSARIO ldquoescritordquobull ILUSTRACIONES

bull CONCLUSIONbull BIBLIOGRAFIAbull INFOGRAFIA

JAVAJAVA

2 Clasificacion de los POO

Proyeccioacuten de las PC

SIMULA

1966 1970 1980 1990

Esta inicia a finales de los antildeos60 con el lenguaje simula disentildeado x norwegian computin centre seguido la decada de los 70 se monopoliza smartal en los 80 el auge de los POOentre los 80-83 stroutup desarrolla C++ y en los noventas la innovacion tecnologica de la tecnologia orientada a

objetos

Arquitecturas nuevas

SMARTALK 72

SMARTALK 80 C++

Objetive ndashc Eiffel

OO COBOL

ADA 95 SQL3 Delphi JAVA

bull EPOCAS DE LA HISTORIA DE LOS POO

CONEXION JAVACONEXION JAVA

NS OBJECT

NS OBJECT

NS RESPONDER

NS VIEW

NS CONTROL

Objeto base init retain release

Objeto base init retain release

Objeto base init retain release

Objeto base init retain release

NS OBJECTNS OBJECT NS OBJECT

OP OO

EJEMPLOSEJEMPLOSENTRADA

SALIDA

ENTRADA

SALIDA

PROCEDIMIENTOS A

PROCESOS A

PASOS A

OBJETOS A

ATRIBUTOS

METODOS

OBJETOS B

ATRIBUTOS

METODOS

OBJETOS C

ATRIBUTOS

METODOS

2121Existen varias clasificaciones de los LPOO

atendiendo a criterios de construccioacuten ocaracteriacutesticas especiacuteficas de los mismos

bull Clasificacioacuten de Peter Wegnerbull Clasificacioacuten de Teslerbull Clasificacioacuten seguacuten el origen

Clasificacioacuten deWegner bull Lenguajes Basados en Objetos Soportan objetos Es decirdisponen de componentes caracterizados por un conjunto deoperaciones (comportamiento) y un estadobull Lenguajes Basados en Clases Disponen ademaacutes de objetosde componentes tipo clase con operaciones y estado comuacutenbull Lenguajes Orientados al Objeto Ademaacutes de objetos y clasesofrecen mecanismos de herencia

Clasificacioacuten de WegnerBasado en objeto = encapsulamiento +identidad de objetosbull Basado en clases = basado en objetos +abstraccioacuten de conjuntobull Orientados a objetos = Basados en clases +herencia + autorrecursioacuten

BASADO EN OBJETOS

BASADO EN CLASES

ORIENTADO AL OBJETO

OBJETOS

ADA 95

C++

EIFFIEL

SMARLLTALK

DELPHI

ADA 873

CLIPPER 52

+ CLASES

+ HERENCIAS

CLU

Clasificacioacuten de Tesler

OODLObject ndash Oriented

Dinamic LanguajesSmalltlk Dylan

PODLProcess ndash Oriented Dinamic Languajes

Lisp Schame

OOSLObject ndash Oriented Static Languajes

C + +JAVA

POSLProcess-oriented Static Languajes

Pascal C

Dinamicos

Estaticos

Orientados al objetoOrientados al proceso

2323Clasificacioacuten de Tesler

Comprobacion estrictaComprobacion debilSin tipos

Un sistema de tipos son las reglas que la

establecen la utilizacion de los tipos su

correccion en un lenguaje de modelado o

relizacion

Chequeo de momento

Smalltalk

Dinamico

Rigurosidad

Sin Tipos

CLASIFICACION DE TESLER

Clasificacioacuten de Tesler

Beneficios del uso de lenguajes con tiposestrictosndash Evitan los fallos en tiempo de ejecucioacutenderivados de conflictos con los tiposndash Deteccioacuten temprana en tiempo de compilacioacutende erroresndash Declaracioacuten de tipos como ayuda para ladocumentacioacutenndash Eficiencia en el coacutedigo

Clasificacioacuten de Tesler

Tipificacioacuten o tipado (ldquotypingrdquo) es el proceso dedeclarar cuaacutel es el tipo de informacioacuten que puede

contener una variable

Sistemas de tipos estaacuteticosbull Tambieacuten llamados sistemas contipado fuerte o estrictobull Exigen asociacioacuten expliacutecita de un tipoa cada nombre declaradobull El tipo de cada objeto se ha de determinarcon anterioridad a la ejecucioacuten del programabull Menos flexible pero maacutes segurabull Ejecucioacuten maacutes eficiente al no tener quehacer comprobacioacuten de tipos en tiempo deEjecucioacuten

Sistemas de tipos dinaacutemicosbull Tambieacuten llamados sistemas con tipadodeacutebilno estricto o dinaacutemicobull No exigen asociacioacuten expliacutecita de un tipoa cada variablebull Cada objeto conoce su tipo cuando se creadurante la ejecucioacutenbull Maacutes flexibilidadbull Peacuterdida de eficiencia durante la ejecucioacuten delprograma debida a la necesidad de mantenery comprobar el tipo de todos los objetosdurante la ejecucioacuten

Clasificacioacuten de Tesler

Ligadura es el proceso de asociar un atributo a un nombreEn el caso de las funciones el teacutermino ligadura (binding) serefiere a la conexioacuten o enlace entre una llamada a funcioacuteny el coacutedigo real ejecutado como resultado de la llamada[Joyanes 1998]

Ligadura estaacutetica otemprana

Ligadura dinaacutemica otardiacutea

Clasificacioacuten de Tesler

Ligadura estaacutetica o temprana

ndash Resuelve las correspondencias en tiempo de compilacioacutenndash No hay sobrecarga en tiempo de ejecucioacuten y los fallos se detectanen tiempo de compilacioacutenndash Los enlaces no pueden hacerse sin volver a compilar

bull Ligadura dinaacutemica o tardiacutea

ndash La correspondencia se hace al invocar los meacutetodosndash Soporta la evolucioacuten de los programas sin tener que recompilarndash Coste en tiempo de ejecucioacuten

No hay garantia de interpretacionInterpretacion

flexible SMALLTALK

Garantia de correccion Interpretacion flexibleC++ OBJECT PASCAL

Combinacion No Valida Sin Sentido

GaraniaDe correccionInterpretacion

inflexible

C COBOL

Dinamicos

Estaticos

Comprobacion dinamica

Comprobacion Estatica

Clasificacioacuten de Tesler

Clasificacioacuten seguacuten el

Origen

Lenguajes purosLenguajes Hibridos

Smalltalk Eiffel

C ++ OBJECT PASCAL

Objetos Mensajes

Clases

Objetos Mensajes

Clases

Lenguajes con base tradicional

+

Clasificacioacuten seguacuten elOrigen

Caracteriacutesticas de losLPOO

31 Elementos Concretos

Requisitos Deseablesen los LPOO

Conceptos clarosbull Orientacioacuten al Objetopurabull Seguridadbull Alto nivelbull Modelo de ejecucioacutensimplebull Sintaxis faacutecil de leer

bull Eliminacioacuten de laredundanciabull Pequentildeobull De faacutecil transicioacuten aotros lenguajesbull Soporte para elaseguramiento de lacorreccioacutenbull Entornos agradables

Revisioacuten de algunos delos Principales LPOO

41 SIMULA

El Simula 67 fue considerado como elprimer LPOO

bull Fue disentildeado en 1967 por Ole-Johan Dhaly Kristen Nygaard en el Norwegian

Computing Center en Oslobull El nombre de Simula 67 fue acortado a

Simula en 1986 existiendo un estaacutendar dellenguaje desde 1987 [SIS 1987]

- Primer lenguaje creado con tecnologiacutea de objetos puros- El origen de Smalltalk estaacute alrededor de 1970 en la Universidad de Utahde la mano de Alan Kay- Smalltalk se desarrolla en el Xerox Palo Alto Research Center (PARC)de la mano de Alan Kay Adele Goldberg y Daniel Ingalls- Los conceptos de Smalltalk han influido en el disentildeo de LPOO y en el aspectoy sensacioacuten de los GUI como los de Macintosh o Motif- Smalltalk 72 Smalltalk 74 Smalltalk 76 Smalltalk 78 y Smalltalk 80- SmalltalkV de Digital- Entorno de programacioacuten Lenguaje Smalltalk baacutesico Coleccioacuten de clases y elentorno real de programacioacuten- El estilo del lenguaje se enfatiza la ligadura dinaacutemica y no realiza chequeo detipos- El bloque fundamental es la clase que contiene la descripcioacuten de variables ymeacutetodos- Los meacutetodos contienen el coacutedigo y definen coacutemo responde un objeto a unmensaje

SMALLTALK

- La ejecucioacuten de una rutina de un objeto se denomina en la terminologiacutea deSmalltalk ldquoenviar un mensajerdquo al objeto cuya clase encontraraacute la formaapropiada de manejar dicho mensaje- Todo en Smalltalk son objetos incluyendo a las propias clases- El entorno de Smalltalk permite un raacutepido desarrollo de programas- La biblioteca de clases fue disentildeada para ser extendida y adaptada por adicioacutende subclases para satisfacer las necesidades de la aplicacioacuten- La arquitectura ModeloVistaControlador (MVC) es una importante contribucioacutende Smalltalk- Una referencia claacutesica sobre Smalltalk es [Goldberg and Robson 1983]

43 C++

- C++ es un lenguaje hiacutebrido extensioacuten del lenguaje C- Fue desarrollado por Bjarne Stroustrup en los laboratorios ATampT- Las primeras versiones del lenguaje se denominaron C con clasesy datan de 1980- El nombre de C++ se debe a Rick Mascitti quien lo bautizoacute de estamanera en el verano de 1983- C++ fue instalado por primera vez fuera del grupo de investigacioacutendel autor en julio de 1983- En 1987 surge la necesidad de estandarizacioacuten de C++- Dispone de capacidades para la herencia simple y muacuteltiple- Por defecto C++ tiene ligadura estaacutetica- Las funciones definidas como virtuales pueden beneficiarse delconcepto de ligadura dinaacutemica

C++ es estrictamente tipado aunque admite la posibilidad de casting- No cuenta con un recolector de basura- La ausencia de un gestor automaacutetico de memoria por defecto obligaal concepto de destructor- Ocultamiento de la informacioacuten incluso a los descendientes- Cuenta con un mecanismo de acceso especial por parte de una clase ouna funcioacuten que se declare como friend- Soporte de manejo de excepciones- Soporte de genericidad mediante las plantillas- Permite sobrecarga de operadores- Sintaxis oscura y gramaacutetica difiacutecil de analizar- Lenguaje complejo preocupado por la deteccioacuten temprana de erroresy por la eficiencia de la ejecucioacuten perdiendo algo de sencillez y deflexibilidad para el disentildeo- [Stroustrup 1997] es una referencia vaacutelida para este lenguaje

Eiffel

- Eiffel fue desarrollado por Bertrand Meyer- Es un lenguaje orientado al objeto puro- Soporta ligadura dinaacutemica- Tiene comprobacioacuten estricta de tipos- Admite herencia muacuteltiple- Soporta clases parametrizadas- La gestioacuten de memoria la lleva a cabo el entorno de programacioacuten- Eiffel proporciona una biblioteca de clases predefinidas muy completa- Eiffel cuenta con la clase como uacutenico criterio de estructuracioacuten- Una declaracioacuten de clase en Eiffel puede incluir una lista de caracteriacutesticasexportadas una lista de clases predecesoras y una lista de declaraciones decaracteriacutesticas- Cuenta con manejo de excepciones- [Meyer 1992] es una de las referencias obligadas aunque con unas mirasmaacutes amplias se recomienda [Meyer 1997]

-Disentildeo por contrato

bull Precondiciones que deben cumplirse antes de que se invoque un meacutetodobull Postcondiciones que se garantizan han de cumplirse despueacutes de que sehaya ejecutado el meacutetodobull Invariantes condicioacuten que debe cumplir la clase en toda circunstanciaestablebull Un contrato entre el proveedor y el usuario de una clase espera que1048670 El usuario de una clase aseguraraacute que las precondiciones de un meacutetodose cumplan antes de que el meacutetodo se invoque1048670 El proveedor de la clase garantizaraacute que las postcondiciones se cumplandespueacutes que se ha aplicado el meacutetodo

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 3: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

JAVAJAVA

2 Clasificacion de los POO

Proyeccioacuten de las PC

SIMULA

1966 1970 1980 1990

Esta inicia a finales de los antildeos60 con el lenguaje simula disentildeado x norwegian computin centre seguido la decada de los 70 se monopoliza smartal en los 80 el auge de los POOentre los 80-83 stroutup desarrolla C++ y en los noventas la innovacion tecnologica de la tecnologia orientada a

objetos

Arquitecturas nuevas

SMARTALK 72

SMARTALK 80 C++

Objetive ndashc Eiffel

OO COBOL

ADA 95 SQL3 Delphi JAVA

bull EPOCAS DE LA HISTORIA DE LOS POO

CONEXION JAVACONEXION JAVA

NS OBJECT

NS OBJECT

NS RESPONDER

NS VIEW

NS CONTROL

Objeto base init retain release

Objeto base init retain release

Objeto base init retain release

Objeto base init retain release

NS OBJECTNS OBJECT NS OBJECT

OP OO

EJEMPLOSEJEMPLOSENTRADA

SALIDA

ENTRADA

SALIDA

PROCEDIMIENTOS A

PROCESOS A

PASOS A

OBJETOS A

ATRIBUTOS

METODOS

OBJETOS B

ATRIBUTOS

METODOS

OBJETOS C

ATRIBUTOS

METODOS

2121Existen varias clasificaciones de los LPOO

atendiendo a criterios de construccioacuten ocaracteriacutesticas especiacuteficas de los mismos

bull Clasificacioacuten de Peter Wegnerbull Clasificacioacuten de Teslerbull Clasificacioacuten seguacuten el origen

Clasificacioacuten deWegner bull Lenguajes Basados en Objetos Soportan objetos Es decirdisponen de componentes caracterizados por un conjunto deoperaciones (comportamiento) y un estadobull Lenguajes Basados en Clases Disponen ademaacutes de objetosde componentes tipo clase con operaciones y estado comuacutenbull Lenguajes Orientados al Objeto Ademaacutes de objetos y clasesofrecen mecanismos de herencia

Clasificacioacuten de WegnerBasado en objeto = encapsulamiento +identidad de objetosbull Basado en clases = basado en objetos +abstraccioacuten de conjuntobull Orientados a objetos = Basados en clases +herencia + autorrecursioacuten

BASADO EN OBJETOS

BASADO EN CLASES

ORIENTADO AL OBJETO

OBJETOS

ADA 95

C++

EIFFIEL

SMARLLTALK

DELPHI

ADA 873

CLIPPER 52

+ CLASES

+ HERENCIAS

CLU

Clasificacioacuten de Tesler

OODLObject ndash Oriented

Dinamic LanguajesSmalltlk Dylan

PODLProcess ndash Oriented Dinamic Languajes

Lisp Schame

OOSLObject ndash Oriented Static Languajes

C + +JAVA

POSLProcess-oriented Static Languajes

Pascal C

Dinamicos

Estaticos

Orientados al objetoOrientados al proceso

2323Clasificacioacuten de Tesler

Comprobacion estrictaComprobacion debilSin tipos

Un sistema de tipos son las reglas que la

establecen la utilizacion de los tipos su

correccion en un lenguaje de modelado o

relizacion

Chequeo de momento

Smalltalk

Dinamico

Rigurosidad

Sin Tipos

CLASIFICACION DE TESLER

Clasificacioacuten de Tesler

Beneficios del uso de lenguajes con tiposestrictosndash Evitan los fallos en tiempo de ejecucioacutenderivados de conflictos con los tiposndash Deteccioacuten temprana en tiempo de compilacioacutende erroresndash Declaracioacuten de tipos como ayuda para ladocumentacioacutenndash Eficiencia en el coacutedigo

Clasificacioacuten de Tesler

Tipificacioacuten o tipado (ldquotypingrdquo) es el proceso dedeclarar cuaacutel es el tipo de informacioacuten que puede

contener una variable

Sistemas de tipos estaacuteticosbull Tambieacuten llamados sistemas contipado fuerte o estrictobull Exigen asociacioacuten expliacutecita de un tipoa cada nombre declaradobull El tipo de cada objeto se ha de determinarcon anterioridad a la ejecucioacuten del programabull Menos flexible pero maacutes segurabull Ejecucioacuten maacutes eficiente al no tener quehacer comprobacioacuten de tipos en tiempo deEjecucioacuten

Sistemas de tipos dinaacutemicosbull Tambieacuten llamados sistemas con tipadodeacutebilno estricto o dinaacutemicobull No exigen asociacioacuten expliacutecita de un tipoa cada variablebull Cada objeto conoce su tipo cuando se creadurante la ejecucioacutenbull Maacutes flexibilidadbull Peacuterdida de eficiencia durante la ejecucioacuten delprograma debida a la necesidad de mantenery comprobar el tipo de todos los objetosdurante la ejecucioacuten

Clasificacioacuten de Tesler

Ligadura es el proceso de asociar un atributo a un nombreEn el caso de las funciones el teacutermino ligadura (binding) serefiere a la conexioacuten o enlace entre una llamada a funcioacuteny el coacutedigo real ejecutado como resultado de la llamada[Joyanes 1998]

Ligadura estaacutetica otemprana

Ligadura dinaacutemica otardiacutea

Clasificacioacuten de Tesler

Ligadura estaacutetica o temprana

ndash Resuelve las correspondencias en tiempo de compilacioacutenndash No hay sobrecarga en tiempo de ejecucioacuten y los fallos se detectanen tiempo de compilacioacutenndash Los enlaces no pueden hacerse sin volver a compilar

bull Ligadura dinaacutemica o tardiacutea

ndash La correspondencia se hace al invocar los meacutetodosndash Soporta la evolucioacuten de los programas sin tener que recompilarndash Coste en tiempo de ejecucioacuten

No hay garantia de interpretacionInterpretacion

flexible SMALLTALK

Garantia de correccion Interpretacion flexibleC++ OBJECT PASCAL

Combinacion No Valida Sin Sentido

GaraniaDe correccionInterpretacion

inflexible

C COBOL

Dinamicos

Estaticos

Comprobacion dinamica

Comprobacion Estatica

Clasificacioacuten de Tesler

Clasificacioacuten seguacuten el

Origen

Lenguajes purosLenguajes Hibridos

Smalltalk Eiffel

C ++ OBJECT PASCAL

Objetos Mensajes

Clases

Objetos Mensajes

Clases

Lenguajes con base tradicional

+

Clasificacioacuten seguacuten elOrigen

Caracteriacutesticas de losLPOO

31 Elementos Concretos

Requisitos Deseablesen los LPOO

Conceptos clarosbull Orientacioacuten al Objetopurabull Seguridadbull Alto nivelbull Modelo de ejecucioacutensimplebull Sintaxis faacutecil de leer

bull Eliminacioacuten de laredundanciabull Pequentildeobull De faacutecil transicioacuten aotros lenguajesbull Soporte para elaseguramiento de lacorreccioacutenbull Entornos agradables

Revisioacuten de algunos delos Principales LPOO

41 SIMULA

El Simula 67 fue considerado como elprimer LPOO

bull Fue disentildeado en 1967 por Ole-Johan Dhaly Kristen Nygaard en el Norwegian

Computing Center en Oslobull El nombre de Simula 67 fue acortado a

Simula en 1986 existiendo un estaacutendar dellenguaje desde 1987 [SIS 1987]

- Primer lenguaje creado con tecnologiacutea de objetos puros- El origen de Smalltalk estaacute alrededor de 1970 en la Universidad de Utahde la mano de Alan Kay- Smalltalk se desarrolla en el Xerox Palo Alto Research Center (PARC)de la mano de Alan Kay Adele Goldberg y Daniel Ingalls- Los conceptos de Smalltalk han influido en el disentildeo de LPOO y en el aspectoy sensacioacuten de los GUI como los de Macintosh o Motif- Smalltalk 72 Smalltalk 74 Smalltalk 76 Smalltalk 78 y Smalltalk 80- SmalltalkV de Digital- Entorno de programacioacuten Lenguaje Smalltalk baacutesico Coleccioacuten de clases y elentorno real de programacioacuten- El estilo del lenguaje se enfatiza la ligadura dinaacutemica y no realiza chequeo detipos- El bloque fundamental es la clase que contiene la descripcioacuten de variables ymeacutetodos- Los meacutetodos contienen el coacutedigo y definen coacutemo responde un objeto a unmensaje

SMALLTALK

- La ejecucioacuten de una rutina de un objeto se denomina en la terminologiacutea deSmalltalk ldquoenviar un mensajerdquo al objeto cuya clase encontraraacute la formaapropiada de manejar dicho mensaje- Todo en Smalltalk son objetos incluyendo a las propias clases- El entorno de Smalltalk permite un raacutepido desarrollo de programas- La biblioteca de clases fue disentildeada para ser extendida y adaptada por adicioacutende subclases para satisfacer las necesidades de la aplicacioacuten- La arquitectura ModeloVistaControlador (MVC) es una importante contribucioacutende Smalltalk- Una referencia claacutesica sobre Smalltalk es [Goldberg and Robson 1983]

43 C++

- C++ es un lenguaje hiacutebrido extensioacuten del lenguaje C- Fue desarrollado por Bjarne Stroustrup en los laboratorios ATampT- Las primeras versiones del lenguaje se denominaron C con clasesy datan de 1980- El nombre de C++ se debe a Rick Mascitti quien lo bautizoacute de estamanera en el verano de 1983- C++ fue instalado por primera vez fuera del grupo de investigacioacutendel autor en julio de 1983- En 1987 surge la necesidad de estandarizacioacuten de C++- Dispone de capacidades para la herencia simple y muacuteltiple- Por defecto C++ tiene ligadura estaacutetica- Las funciones definidas como virtuales pueden beneficiarse delconcepto de ligadura dinaacutemica

C++ es estrictamente tipado aunque admite la posibilidad de casting- No cuenta con un recolector de basura- La ausencia de un gestor automaacutetico de memoria por defecto obligaal concepto de destructor- Ocultamiento de la informacioacuten incluso a los descendientes- Cuenta con un mecanismo de acceso especial por parte de una clase ouna funcioacuten que se declare como friend- Soporte de manejo de excepciones- Soporte de genericidad mediante las plantillas- Permite sobrecarga de operadores- Sintaxis oscura y gramaacutetica difiacutecil de analizar- Lenguaje complejo preocupado por la deteccioacuten temprana de erroresy por la eficiencia de la ejecucioacuten perdiendo algo de sencillez y deflexibilidad para el disentildeo- [Stroustrup 1997] es una referencia vaacutelida para este lenguaje

Eiffel

- Eiffel fue desarrollado por Bertrand Meyer- Es un lenguaje orientado al objeto puro- Soporta ligadura dinaacutemica- Tiene comprobacioacuten estricta de tipos- Admite herencia muacuteltiple- Soporta clases parametrizadas- La gestioacuten de memoria la lleva a cabo el entorno de programacioacuten- Eiffel proporciona una biblioteca de clases predefinidas muy completa- Eiffel cuenta con la clase como uacutenico criterio de estructuracioacuten- Una declaracioacuten de clase en Eiffel puede incluir una lista de caracteriacutesticasexportadas una lista de clases predecesoras y una lista de declaraciones decaracteriacutesticas- Cuenta con manejo de excepciones- [Meyer 1992] es una de las referencias obligadas aunque con unas mirasmaacutes amplias se recomienda [Meyer 1997]

-Disentildeo por contrato

bull Precondiciones que deben cumplirse antes de que se invoque un meacutetodobull Postcondiciones que se garantizan han de cumplirse despueacutes de que sehaya ejecutado el meacutetodobull Invariantes condicioacuten que debe cumplir la clase en toda circunstanciaestablebull Un contrato entre el proveedor y el usuario de una clase espera que1048670 El usuario de una clase aseguraraacute que las precondiciones de un meacutetodose cumplan antes de que el meacutetodo se invoque1048670 El proveedor de la clase garantizaraacute que las postcondiciones se cumplandespueacutes que se ha aplicado el meacutetodo

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 4: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

2 Clasificacion de los POO

Proyeccioacuten de las PC

SIMULA

1966 1970 1980 1990

Esta inicia a finales de los antildeos60 con el lenguaje simula disentildeado x norwegian computin centre seguido la decada de los 70 se monopoliza smartal en los 80 el auge de los POOentre los 80-83 stroutup desarrolla C++ y en los noventas la innovacion tecnologica de la tecnologia orientada a

objetos

Arquitecturas nuevas

SMARTALK 72

SMARTALK 80 C++

Objetive ndashc Eiffel

OO COBOL

ADA 95 SQL3 Delphi JAVA

bull EPOCAS DE LA HISTORIA DE LOS POO

CONEXION JAVACONEXION JAVA

NS OBJECT

NS OBJECT

NS RESPONDER

NS VIEW

NS CONTROL

Objeto base init retain release

Objeto base init retain release

Objeto base init retain release

Objeto base init retain release

NS OBJECTNS OBJECT NS OBJECT

OP OO

EJEMPLOSEJEMPLOSENTRADA

SALIDA

ENTRADA

SALIDA

PROCEDIMIENTOS A

PROCESOS A

PASOS A

OBJETOS A

ATRIBUTOS

METODOS

OBJETOS B

ATRIBUTOS

METODOS

OBJETOS C

ATRIBUTOS

METODOS

2121Existen varias clasificaciones de los LPOO

atendiendo a criterios de construccioacuten ocaracteriacutesticas especiacuteficas de los mismos

bull Clasificacioacuten de Peter Wegnerbull Clasificacioacuten de Teslerbull Clasificacioacuten seguacuten el origen

Clasificacioacuten deWegner bull Lenguajes Basados en Objetos Soportan objetos Es decirdisponen de componentes caracterizados por un conjunto deoperaciones (comportamiento) y un estadobull Lenguajes Basados en Clases Disponen ademaacutes de objetosde componentes tipo clase con operaciones y estado comuacutenbull Lenguajes Orientados al Objeto Ademaacutes de objetos y clasesofrecen mecanismos de herencia

Clasificacioacuten de WegnerBasado en objeto = encapsulamiento +identidad de objetosbull Basado en clases = basado en objetos +abstraccioacuten de conjuntobull Orientados a objetos = Basados en clases +herencia + autorrecursioacuten

BASADO EN OBJETOS

BASADO EN CLASES

ORIENTADO AL OBJETO

OBJETOS

ADA 95

C++

EIFFIEL

SMARLLTALK

DELPHI

ADA 873

CLIPPER 52

+ CLASES

+ HERENCIAS

CLU

Clasificacioacuten de Tesler

OODLObject ndash Oriented

Dinamic LanguajesSmalltlk Dylan

PODLProcess ndash Oriented Dinamic Languajes

Lisp Schame

OOSLObject ndash Oriented Static Languajes

C + +JAVA

POSLProcess-oriented Static Languajes

Pascal C

Dinamicos

Estaticos

Orientados al objetoOrientados al proceso

2323Clasificacioacuten de Tesler

Comprobacion estrictaComprobacion debilSin tipos

Un sistema de tipos son las reglas que la

establecen la utilizacion de los tipos su

correccion en un lenguaje de modelado o

relizacion

Chequeo de momento

Smalltalk

Dinamico

Rigurosidad

Sin Tipos

CLASIFICACION DE TESLER

Clasificacioacuten de Tesler

Beneficios del uso de lenguajes con tiposestrictosndash Evitan los fallos en tiempo de ejecucioacutenderivados de conflictos con los tiposndash Deteccioacuten temprana en tiempo de compilacioacutende erroresndash Declaracioacuten de tipos como ayuda para ladocumentacioacutenndash Eficiencia en el coacutedigo

Clasificacioacuten de Tesler

Tipificacioacuten o tipado (ldquotypingrdquo) es el proceso dedeclarar cuaacutel es el tipo de informacioacuten que puede

contener una variable

Sistemas de tipos estaacuteticosbull Tambieacuten llamados sistemas contipado fuerte o estrictobull Exigen asociacioacuten expliacutecita de un tipoa cada nombre declaradobull El tipo de cada objeto se ha de determinarcon anterioridad a la ejecucioacuten del programabull Menos flexible pero maacutes segurabull Ejecucioacuten maacutes eficiente al no tener quehacer comprobacioacuten de tipos en tiempo deEjecucioacuten

Sistemas de tipos dinaacutemicosbull Tambieacuten llamados sistemas con tipadodeacutebilno estricto o dinaacutemicobull No exigen asociacioacuten expliacutecita de un tipoa cada variablebull Cada objeto conoce su tipo cuando se creadurante la ejecucioacutenbull Maacutes flexibilidadbull Peacuterdida de eficiencia durante la ejecucioacuten delprograma debida a la necesidad de mantenery comprobar el tipo de todos los objetosdurante la ejecucioacuten

Clasificacioacuten de Tesler

Ligadura es el proceso de asociar un atributo a un nombreEn el caso de las funciones el teacutermino ligadura (binding) serefiere a la conexioacuten o enlace entre una llamada a funcioacuteny el coacutedigo real ejecutado como resultado de la llamada[Joyanes 1998]

Ligadura estaacutetica otemprana

Ligadura dinaacutemica otardiacutea

Clasificacioacuten de Tesler

Ligadura estaacutetica o temprana

ndash Resuelve las correspondencias en tiempo de compilacioacutenndash No hay sobrecarga en tiempo de ejecucioacuten y los fallos se detectanen tiempo de compilacioacutenndash Los enlaces no pueden hacerse sin volver a compilar

bull Ligadura dinaacutemica o tardiacutea

ndash La correspondencia se hace al invocar los meacutetodosndash Soporta la evolucioacuten de los programas sin tener que recompilarndash Coste en tiempo de ejecucioacuten

No hay garantia de interpretacionInterpretacion

flexible SMALLTALK

Garantia de correccion Interpretacion flexibleC++ OBJECT PASCAL

Combinacion No Valida Sin Sentido

GaraniaDe correccionInterpretacion

inflexible

C COBOL

Dinamicos

Estaticos

Comprobacion dinamica

Comprobacion Estatica

Clasificacioacuten de Tesler

Clasificacioacuten seguacuten el

Origen

Lenguajes purosLenguajes Hibridos

Smalltalk Eiffel

C ++ OBJECT PASCAL

Objetos Mensajes

Clases

Objetos Mensajes

Clases

Lenguajes con base tradicional

+

Clasificacioacuten seguacuten elOrigen

Caracteriacutesticas de losLPOO

31 Elementos Concretos

Requisitos Deseablesen los LPOO

Conceptos clarosbull Orientacioacuten al Objetopurabull Seguridadbull Alto nivelbull Modelo de ejecucioacutensimplebull Sintaxis faacutecil de leer

bull Eliminacioacuten de laredundanciabull Pequentildeobull De faacutecil transicioacuten aotros lenguajesbull Soporte para elaseguramiento de lacorreccioacutenbull Entornos agradables

Revisioacuten de algunos delos Principales LPOO

41 SIMULA

El Simula 67 fue considerado como elprimer LPOO

bull Fue disentildeado en 1967 por Ole-Johan Dhaly Kristen Nygaard en el Norwegian

Computing Center en Oslobull El nombre de Simula 67 fue acortado a

Simula en 1986 existiendo un estaacutendar dellenguaje desde 1987 [SIS 1987]

- Primer lenguaje creado con tecnologiacutea de objetos puros- El origen de Smalltalk estaacute alrededor de 1970 en la Universidad de Utahde la mano de Alan Kay- Smalltalk se desarrolla en el Xerox Palo Alto Research Center (PARC)de la mano de Alan Kay Adele Goldberg y Daniel Ingalls- Los conceptos de Smalltalk han influido en el disentildeo de LPOO y en el aspectoy sensacioacuten de los GUI como los de Macintosh o Motif- Smalltalk 72 Smalltalk 74 Smalltalk 76 Smalltalk 78 y Smalltalk 80- SmalltalkV de Digital- Entorno de programacioacuten Lenguaje Smalltalk baacutesico Coleccioacuten de clases y elentorno real de programacioacuten- El estilo del lenguaje se enfatiza la ligadura dinaacutemica y no realiza chequeo detipos- El bloque fundamental es la clase que contiene la descripcioacuten de variables ymeacutetodos- Los meacutetodos contienen el coacutedigo y definen coacutemo responde un objeto a unmensaje

SMALLTALK

- La ejecucioacuten de una rutina de un objeto se denomina en la terminologiacutea deSmalltalk ldquoenviar un mensajerdquo al objeto cuya clase encontraraacute la formaapropiada de manejar dicho mensaje- Todo en Smalltalk son objetos incluyendo a las propias clases- El entorno de Smalltalk permite un raacutepido desarrollo de programas- La biblioteca de clases fue disentildeada para ser extendida y adaptada por adicioacutende subclases para satisfacer las necesidades de la aplicacioacuten- La arquitectura ModeloVistaControlador (MVC) es una importante contribucioacutende Smalltalk- Una referencia claacutesica sobre Smalltalk es [Goldberg and Robson 1983]

43 C++

- C++ es un lenguaje hiacutebrido extensioacuten del lenguaje C- Fue desarrollado por Bjarne Stroustrup en los laboratorios ATampT- Las primeras versiones del lenguaje se denominaron C con clasesy datan de 1980- El nombre de C++ se debe a Rick Mascitti quien lo bautizoacute de estamanera en el verano de 1983- C++ fue instalado por primera vez fuera del grupo de investigacioacutendel autor en julio de 1983- En 1987 surge la necesidad de estandarizacioacuten de C++- Dispone de capacidades para la herencia simple y muacuteltiple- Por defecto C++ tiene ligadura estaacutetica- Las funciones definidas como virtuales pueden beneficiarse delconcepto de ligadura dinaacutemica

C++ es estrictamente tipado aunque admite la posibilidad de casting- No cuenta con un recolector de basura- La ausencia de un gestor automaacutetico de memoria por defecto obligaal concepto de destructor- Ocultamiento de la informacioacuten incluso a los descendientes- Cuenta con un mecanismo de acceso especial por parte de una clase ouna funcioacuten que se declare como friend- Soporte de manejo de excepciones- Soporte de genericidad mediante las plantillas- Permite sobrecarga de operadores- Sintaxis oscura y gramaacutetica difiacutecil de analizar- Lenguaje complejo preocupado por la deteccioacuten temprana de erroresy por la eficiencia de la ejecucioacuten perdiendo algo de sencillez y deflexibilidad para el disentildeo- [Stroustrup 1997] es una referencia vaacutelida para este lenguaje

Eiffel

- Eiffel fue desarrollado por Bertrand Meyer- Es un lenguaje orientado al objeto puro- Soporta ligadura dinaacutemica- Tiene comprobacioacuten estricta de tipos- Admite herencia muacuteltiple- Soporta clases parametrizadas- La gestioacuten de memoria la lleva a cabo el entorno de programacioacuten- Eiffel proporciona una biblioteca de clases predefinidas muy completa- Eiffel cuenta con la clase como uacutenico criterio de estructuracioacuten- Una declaracioacuten de clase en Eiffel puede incluir una lista de caracteriacutesticasexportadas una lista de clases predecesoras y una lista de declaraciones decaracteriacutesticas- Cuenta con manejo de excepciones- [Meyer 1992] es una de las referencias obligadas aunque con unas mirasmaacutes amplias se recomienda [Meyer 1997]

-Disentildeo por contrato

bull Precondiciones que deben cumplirse antes de que se invoque un meacutetodobull Postcondiciones que se garantizan han de cumplirse despueacutes de que sehaya ejecutado el meacutetodobull Invariantes condicioacuten que debe cumplir la clase en toda circunstanciaestablebull Un contrato entre el proveedor y el usuario de una clase espera que1048670 El usuario de una clase aseguraraacute que las precondiciones de un meacutetodose cumplan antes de que el meacutetodo se invoque1048670 El proveedor de la clase garantizaraacute que las postcondiciones se cumplandespueacutes que se ha aplicado el meacutetodo

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 5: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

Proyeccioacuten de las PC

SIMULA

1966 1970 1980 1990

Esta inicia a finales de los antildeos60 con el lenguaje simula disentildeado x norwegian computin centre seguido la decada de los 70 se monopoliza smartal en los 80 el auge de los POOentre los 80-83 stroutup desarrolla C++ y en los noventas la innovacion tecnologica de la tecnologia orientada a

objetos

Arquitecturas nuevas

SMARTALK 72

SMARTALK 80 C++

Objetive ndashc Eiffel

OO COBOL

ADA 95 SQL3 Delphi JAVA

bull EPOCAS DE LA HISTORIA DE LOS POO

CONEXION JAVACONEXION JAVA

NS OBJECT

NS OBJECT

NS RESPONDER

NS VIEW

NS CONTROL

Objeto base init retain release

Objeto base init retain release

Objeto base init retain release

Objeto base init retain release

NS OBJECTNS OBJECT NS OBJECT

OP OO

EJEMPLOSEJEMPLOSENTRADA

SALIDA

ENTRADA

SALIDA

PROCEDIMIENTOS A

PROCESOS A

PASOS A

OBJETOS A

ATRIBUTOS

METODOS

OBJETOS B

ATRIBUTOS

METODOS

OBJETOS C

ATRIBUTOS

METODOS

2121Existen varias clasificaciones de los LPOO

atendiendo a criterios de construccioacuten ocaracteriacutesticas especiacuteficas de los mismos

bull Clasificacioacuten de Peter Wegnerbull Clasificacioacuten de Teslerbull Clasificacioacuten seguacuten el origen

Clasificacioacuten deWegner bull Lenguajes Basados en Objetos Soportan objetos Es decirdisponen de componentes caracterizados por un conjunto deoperaciones (comportamiento) y un estadobull Lenguajes Basados en Clases Disponen ademaacutes de objetosde componentes tipo clase con operaciones y estado comuacutenbull Lenguajes Orientados al Objeto Ademaacutes de objetos y clasesofrecen mecanismos de herencia

Clasificacioacuten de WegnerBasado en objeto = encapsulamiento +identidad de objetosbull Basado en clases = basado en objetos +abstraccioacuten de conjuntobull Orientados a objetos = Basados en clases +herencia + autorrecursioacuten

BASADO EN OBJETOS

BASADO EN CLASES

ORIENTADO AL OBJETO

OBJETOS

ADA 95

C++

EIFFIEL

SMARLLTALK

DELPHI

ADA 873

CLIPPER 52

+ CLASES

+ HERENCIAS

CLU

Clasificacioacuten de Tesler

OODLObject ndash Oriented

Dinamic LanguajesSmalltlk Dylan

PODLProcess ndash Oriented Dinamic Languajes

Lisp Schame

OOSLObject ndash Oriented Static Languajes

C + +JAVA

POSLProcess-oriented Static Languajes

Pascal C

Dinamicos

Estaticos

Orientados al objetoOrientados al proceso

2323Clasificacioacuten de Tesler

Comprobacion estrictaComprobacion debilSin tipos

Un sistema de tipos son las reglas que la

establecen la utilizacion de los tipos su

correccion en un lenguaje de modelado o

relizacion

Chequeo de momento

Smalltalk

Dinamico

Rigurosidad

Sin Tipos

CLASIFICACION DE TESLER

Clasificacioacuten de Tesler

Beneficios del uso de lenguajes con tiposestrictosndash Evitan los fallos en tiempo de ejecucioacutenderivados de conflictos con los tiposndash Deteccioacuten temprana en tiempo de compilacioacutende erroresndash Declaracioacuten de tipos como ayuda para ladocumentacioacutenndash Eficiencia en el coacutedigo

Clasificacioacuten de Tesler

Tipificacioacuten o tipado (ldquotypingrdquo) es el proceso dedeclarar cuaacutel es el tipo de informacioacuten que puede

contener una variable

Sistemas de tipos estaacuteticosbull Tambieacuten llamados sistemas contipado fuerte o estrictobull Exigen asociacioacuten expliacutecita de un tipoa cada nombre declaradobull El tipo de cada objeto se ha de determinarcon anterioridad a la ejecucioacuten del programabull Menos flexible pero maacutes segurabull Ejecucioacuten maacutes eficiente al no tener quehacer comprobacioacuten de tipos en tiempo deEjecucioacuten

Sistemas de tipos dinaacutemicosbull Tambieacuten llamados sistemas con tipadodeacutebilno estricto o dinaacutemicobull No exigen asociacioacuten expliacutecita de un tipoa cada variablebull Cada objeto conoce su tipo cuando se creadurante la ejecucioacutenbull Maacutes flexibilidadbull Peacuterdida de eficiencia durante la ejecucioacuten delprograma debida a la necesidad de mantenery comprobar el tipo de todos los objetosdurante la ejecucioacuten

Clasificacioacuten de Tesler

Ligadura es el proceso de asociar un atributo a un nombreEn el caso de las funciones el teacutermino ligadura (binding) serefiere a la conexioacuten o enlace entre una llamada a funcioacuteny el coacutedigo real ejecutado como resultado de la llamada[Joyanes 1998]

Ligadura estaacutetica otemprana

Ligadura dinaacutemica otardiacutea

Clasificacioacuten de Tesler

Ligadura estaacutetica o temprana

ndash Resuelve las correspondencias en tiempo de compilacioacutenndash No hay sobrecarga en tiempo de ejecucioacuten y los fallos se detectanen tiempo de compilacioacutenndash Los enlaces no pueden hacerse sin volver a compilar

bull Ligadura dinaacutemica o tardiacutea

ndash La correspondencia se hace al invocar los meacutetodosndash Soporta la evolucioacuten de los programas sin tener que recompilarndash Coste en tiempo de ejecucioacuten

No hay garantia de interpretacionInterpretacion

flexible SMALLTALK

Garantia de correccion Interpretacion flexibleC++ OBJECT PASCAL

Combinacion No Valida Sin Sentido

GaraniaDe correccionInterpretacion

inflexible

C COBOL

Dinamicos

Estaticos

Comprobacion dinamica

Comprobacion Estatica

Clasificacioacuten de Tesler

Clasificacioacuten seguacuten el

Origen

Lenguajes purosLenguajes Hibridos

Smalltalk Eiffel

C ++ OBJECT PASCAL

Objetos Mensajes

Clases

Objetos Mensajes

Clases

Lenguajes con base tradicional

+

Clasificacioacuten seguacuten elOrigen

Caracteriacutesticas de losLPOO

31 Elementos Concretos

Requisitos Deseablesen los LPOO

Conceptos clarosbull Orientacioacuten al Objetopurabull Seguridadbull Alto nivelbull Modelo de ejecucioacutensimplebull Sintaxis faacutecil de leer

bull Eliminacioacuten de laredundanciabull Pequentildeobull De faacutecil transicioacuten aotros lenguajesbull Soporte para elaseguramiento de lacorreccioacutenbull Entornos agradables

Revisioacuten de algunos delos Principales LPOO

41 SIMULA

El Simula 67 fue considerado como elprimer LPOO

bull Fue disentildeado en 1967 por Ole-Johan Dhaly Kristen Nygaard en el Norwegian

Computing Center en Oslobull El nombre de Simula 67 fue acortado a

Simula en 1986 existiendo un estaacutendar dellenguaje desde 1987 [SIS 1987]

- Primer lenguaje creado con tecnologiacutea de objetos puros- El origen de Smalltalk estaacute alrededor de 1970 en la Universidad de Utahde la mano de Alan Kay- Smalltalk se desarrolla en el Xerox Palo Alto Research Center (PARC)de la mano de Alan Kay Adele Goldberg y Daniel Ingalls- Los conceptos de Smalltalk han influido en el disentildeo de LPOO y en el aspectoy sensacioacuten de los GUI como los de Macintosh o Motif- Smalltalk 72 Smalltalk 74 Smalltalk 76 Smalltalk 78 y Smalltalk 80- SmalltalkV de Digital- Entorno de programacioacuten Lenguaje Smalltalk baacutesico Coleccioacuten de clases y elentorno real de programacioacuten- El estilo del lenguaje se enfatiza la ligadura dinaacutemica y no realiza chequeo detipos- El bloque fundamental es la clase que contiene la descripcioacuten de variables ymeacutetodos- Los meacutetodos contienen el coacutedigo y definen coacutemo responde un objeto a unmensaje

SMALLTALK

- La ejecucioacuten de una rutina de un objeto se denomina en la terminologiacutea deSmalltalk ldquoenviar un mensajerdquo al objeto cuya clase encontraraacute la formaapropiada de manejar dicho mensaje- Todo en Smalltalk son objetos incluyendo a las propias clases- El entorno de Smalltalk permite un raacutepido desarrollo de programas- La biblioteca de clases fue disentildeada para ser extendida y adaptada por adicioacutende subclases para satisfacer las necesidades de la aplicacioacuten- La arquitectura ModeloVistaControlador (MVC) es una importante contribucioacutende Smalltalk- Una referencia claacutesica sobre Smalltalk es [Goldberg and Robson 1983]

43 C++

- C++ es un lenguaje hiacutebrido extensioacuten del lenguaje C- Fue desarrollado por Bjarne Stroustrup en los laboratorios ATampT- Las primeras versiones del lenguaje se denominaron C con clasesy datan de 1980- El nombre de C++ se debe a Rick Mascitti quien lo bautizoacute de estamanera en el verano de 1983- C++ fue instalado por primera vez fuera del grupo de investigacioacutendel autor en julio de 1983- En 1987 surge la necesidad de estandarizacioacuten de C++- Dispone de capacidades para la herencia simple y muacuteltiple- Por defecto C++ tiene ligadura estaacutetica- Las funciones definidas como virtuales pueden beneficiarse delconcepto de ligadura dinaacutemica

C++ es estrictamente tipado aunque admite la posibilidad de casting- No cuenta con un recolector de basura- La ausencia de un gestor automaacutetico de memoria por defecto obligaal concepto de destructor- Ocultamiento de la informacioacuten incluso a los descendientes- Cuenta con un mecanismo de acceso especial por parte de una clase ouna funcioacuten que se declare como friend- Soporte de manejo de excepciones- Soporte de genericidad mediante las plantillas- Permite sobrecarga de operadores- Sintaxis oscura y gramaacutetica difiacutecil de analizar- Lenguaje complejo preocupado por la deteccioacuten temprana de erroresy por la eficiencia de la ejecucioacuten perdiendo algo de sencillez y deflexibilidad para el disentildeo- [Stroustrup 1997] es una referencia vaacutelida para este lenguaje

Eiffel

- Eiffel fue desarrollado por Bertrand Meyer- Es un lenguaje orientado al objeto puro- Soporta ligadura dinaacutemica- Tiene comprobacioacuten estricta de tipos- Admite herencia muacuteltiple- Soporta clases parametrizadas- La gestioacuten de memoria la lleva a cabo el entorno de programacioacuten- Eiffel proporciona una biblioteca de clases predefinidas muy completa- Eiffel cuenta con la clase como uacutenico criterio de estructuracioacuten- Una declaracioacuten de clase en Eiffel puede incluir una lista de caracteriacutesticasexportadas una lista de clases predecesoras y una lista de declaraciones decaracteriacutesticas- Cuenta con manejo de excepciones- [Meyer 1992] es una de las referencias obligadas aunque con unas mirasmaacutes amplias se recomienda [Meyer 1997]

-Disentildeo por contrato

bull Precondiciones que deben cumplirse antes de que se invoque un meacutetodobull Postcondiciones que se garantizan han de cumplirse despueacutes de que sehaya ejecutado el meacutetodobull Invariantes condicioacuten que debe cumplir la clase en toda circunstanciaestablebull Un contrato entre el proveedor y el usuario de una clase espera que1048670 El usuario de una clase aseguraraacute que las precondiciones de un meacutetodose cumplan antes de que el meacutetodo se invoque1048670 El proveedor de la clase garantizaraacute que las postcondiciones se cumplandespueacutes que se ha aplicado el meacutetodo

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 6: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

CONEXION JAVACONEXION JAVA

NS OBJECT

NS OBJECT

NS RESPONDER

NS VIEW

NS CONTROL

Objeto base init retain release

Objeto base init retain release

Objeto base init retain release

Objeto base init retain release

NS OBJECTNS OBJECT NS OBJECT

OP OO

EJEMPLOSEJEMPLOSENTRADA

SALIDA

ENTRADA

SALIDA

PROCEDIMIENTOS A

PROCESOS A

PASOS A

OBJETOS A

ATRIBUTOS

METODOS

OBJETOS B

ATRIBUTOS

METODOS

OBJETOS C

ATRIBUTOS

METODOS

2121Existen varias clasificaciones de los LPOO

atendiendo a criterios de construccioacuten ocaracteriacutesticas especiacuteficas de los mismos

bull Clasificacioacuten de Peter Wegnerbull Clasificacioacuten de Teslerbull Clasificacioacuten seguacuten el origen

Clasificacioacuten deWegner bull Lenguajes Basados en Objetos Soportan objetos Es decirdisponen de componentes caracterizados por un conjunto deoperaciones (comportamiento) y un estadobull Lenguajes Basados en Clases Disponen ademaacutes de objetosde componentes tipo clase con operaciones y estado comuacutenbull Lenguajes Orientados al Objeto Ademaacutes de objetos y clasesofrecen mecanismos de herencia

Clasificacioacuten de WegnerBasado en objeto = encapsulamiento +identidad de objetosbull Basado en clases = basado en objetos +abstraccioacuten de conjuntobull Orientados a objetos = Basados en clases +herencia + autorrecursioacuten

BASADO EN OBJETOS

BASADO EN CLASES

ORIENTADO AL OBJETO

OBJETOS

ADA 95

C++

EIFFIEL

SMARLLTALK

DELPHI

ADA 873

CLIPPER 52

+ CLASES

+ HERENCIAS

CLU

Clasificacioacuten de Tesler

OODLObject ndash Oriented

Dinamic LanguajesSmalltlk Dylan

PODLProcess ndash Oriented Dinamic Languajes

Lisp Schame

OOSLObject ndash Oriented Static Languajes

C + +JAVA

POSLProcess-oriented Static Languajes

Pascal C

Dinamicos

Estaticos

Orientados al objetoOrientados al proceso

2323Clasificacioacuten de Tesler

Comprobacion estrictaComprobacion debilSin tipos

Un sistema de tipos son las reglas que la

establecen la utilizacion de los tipos su

correccion en un lenguaje de modelado o

relizacion

Chequeo de momento

Smalltalk

Dinamico

Rigurosidad

Sin Tipos

CLASIFICACION DE TESLER

Clasificacioacuten de Tesler

Beneficios del uso de lenguajes con tiposestrictosndash Evitan los fallos en tiempo de ejecucioacutenderivados de conflictos con los tiposndash Deteccioacuten temprana en tiempo de compilacioacutende erroresndash Declaracioacuten de tipos como ayuda para ladocumentacioacutenndash Eficiencia en el coacutedigo

Clasificacioacuten de Tesler

Tipificacioacuten o tipado (ldquotypingrdquo) es el proceso dedeclarar cuaacutel es el tipo de informacioacuten que puede

contener una variable

Sistemas de tipos estaacuteticosbull Tambieacuten llamados sistemas contipado fuerte o estrictobull Exigen asociacioacuten expliacutecita de un tipoa cada nombre declaradobull El tipo de cada objeto se ha de determinarcon anterioridad a la ejecucioacuten del programabull Menos flexible pero maacutes segurabull Ejecucioacuten maacutes eficiente al no tener quehacer comprobacioacuten de tipos en tiempo deEjecucioacuten

Sistemas de tipos dinaacutemicosbull Tambieacuten llamados sistemas con tipadodeacutebilno estricto o dinaacutemicobull No exigen asociacioacuten expliacutecita de un tipoa cada variablebull Cada objeto conoce su tipo cuando se creadurante la ejecucioacutenbull Maacutes flexibilidadbull Peacuterdida de eficiencia durante la ejecucioacuten delprograma debida a la necesidad de mantenery comprobar el tipo de todos los objetosdurante la ejecucioacuten

Clasificacioacuten de Tesler

Ligadura es el proceso de asociar un atributo a un nombreEn el caso de las funciones el teacutermino ligadura (binding) serefiere a la conexioacuten o enlace entre una llamada a funcioacuteny el coacutedigo real ejecutado como resultado de la llamada[Joyanes 1998]

Ligadura estaacutetica otemprana

Ligadura dinaacutemica otardiacutea

Clasificacioacuten de Tesler

Ligadura estaacutetica o temprana

ndash Resuelve las correspondencias en tiempo de compilacioacutenndash No hay sobrecarga en tiempo de ejecucioacuten y los fallos se detectanen tiempo de compilacioacutenndash Los enlaces no pueden hacerse sin volver a compilar

bull Ligadura dinaacutemica o tardiacutea

ndash La correspondencia se hace al invocar los meacutetodosndash Soporta la evolucioacuten de los programas sin tener que recompilarndash Coste en tiempo de ejecucioacuten

No hay garantia de interpretacionInterpretacion

flexible SMALLTALK

Garantia de correccion Interpretacion flexibleC++ OBJECT PASCAL

Combinacion No Valida Sin Sentido

GaraniaDe correccionInterpretacion

inflexible

C COBOL

Dinamicos

Estaticos

Comprobacion dinamica

Comprobacion Estatica

Clasificacioacuten de Tesler

Clasificacioacuten seguacuten el

Origen

Lenguajes purosLenguajes Hibridos

Smalltalk Eiffel

C ++ OBJECT PASCAL

Objetos Mensajes

Clases

Objetos Mensajes

Clases

Lenguajes con base tradicional

+

Clasificacioacuten seguacuten elOrigen

Caracteriacutesticas de losLPOO

31 Elementos Concretos

Requisitos Deseablesen los LPOO

Conceptos clarosbull Orientacioacuten al Objetopurabull Seguridadbull Alto nivelbull Modelo de ejecucioacutensimplebull Sintaxis faacutecil de leer

bull Eliminacioacuten de laredundanciabull Pequentildeobull De faacutecil transicioacuten aotros lenguajesbull Soporte para elaseguramiento de lacorreccioacutenbull Entornos agradables

Revisioacuten de algunos delos Principales LPOO

41 SIMULA

El Simula 67 fue considerado como elprimer LPOO

bull Fue disentildeado en 1967 por Ole-Johan Dhaly Kristen Nygaard en el Norwegian

Computing Center en Oslobull El nombre de Simula 67 fue acortado a

Simula en 1986 existiendo un estaacutendar dellenguaje desde 1987 [SIS 1987]

- Primer lenguaje creado con tecnologiacutea de objetos puros- El origen de Smalltalk estaacute alrededor de 1970 en la Universidad de Utahde la mano de Alan Kay- Smalltalk se desarrolla en el Xerox Palo Alto Research Center (PARC)de la mano de Alan Kay Adele Goldberg y Daniel Ingalls- Los conceptos de Smalltalk han influido en el disentildeo de LPOO y en el aspectoy sensacioacuten de los GUI como los de Macintosh o Motif- Smalltalk 72 Smalltalk 74 Smalltalk 76 Smalltalk 78 y Smalltalk 80- SmalltalkV de Digital- Entorno de programacioacuten Lenguaje Smalltalk baacutesico Coleccioacuten de clases y elentorno real de programacioacuten- El estilo del lenguaje se enfatiza la ligadura dinaacutemica y no realiza chequeo detipos- El bloque fundamental es la clase que contiene la descripcioacuten de variables ymeacutetodos- Los meacutetodos contienen el coacutedigo y definen coacutemo responde un objeto a unmensaje

SMALLTALK

- La ejecucioacuten de una rutina de un objeto se denomina en la terminologiacutea deSmalltalk ldquoenviar un mensajerdquo al objeto cuya clase encontraraacute la formaapropiada de manejar dicho mensaje- Todo en Smalltalk son objetos incluyendo a las propias clases- El entorno de Smalltalk permite un raacutepido desarrollo de programas- La biblioteca de clases fue disentildeada para ser extendida y adaptada por adicioacutende subclases para satisfacer las necesidades de la aplicacioacuten- La arquitectura ModeloVistaControlador (MVC) es una importante contribucioacutende Smalltalk- Una referencia claacutesica sobre Smalltalk es [Goldberg and Robson 1983]

43 C++

- C++ es un lenguaje hiacutebrido extensioacuten del lenguaje C- Fue desarrollado por Bjarne Stroustrup en los laboratorios ATampT- Las primeras versiones del lenguaje se denominaron C con clasesy datan de 1980- El nombre de C++ se debe a Rick Mascitti quien lo bautizoacute de estamanera en el verano de 1983- C++ fue instalado por primera vez fuera del grupo de investigacioacutendel autor en julio de 1983- En 1987 surge la necesidad de estandarizacioacuten de C++- Dispone de capacidades para la herencia simple y muacuteltiple- Por defecto C++ tiene ligadura estaacutetica- Las funciones definidas como virtuales pueden beneficiarse delconcepto de ligadura dinaacutemica

C++ es estrictamente tipado aunque admite la posibilidad de casting- No cuenta con un recolector de basura- La ausencia de un gestor automaacutetico de memoria por defecto obligaal concepto de destructor- Ocultamiento de la informacioacuten incluso a los descendientes- Cuenta con un mecanismo de acceso especial por parte de una clase ouna funcioacuten que se declare como friend- Soporte de manejo de excepciones- Soporte de genericidad mediante las plantillas- Permite sobrecarga de operadores- Sintaxis oscura y gramaacutetica difiacutecil de analizar- Lenguaje complejo preocupado por la deteccioacuten temprana de erroresy por la eficiencia de la ejecucioacuten perdiendo algo de sencillez y deflexibilidad para el disentildeo- [Stroustrup 1997] es una referencia vaacutelida para este lenguaje

Eiffel

- Eiffel fue desarrollado por Bertrand Meyer- Es un lenguaje orientado al objeto puro- Soporta ligadura dinaacutemica- Tiene comprobacioacuten estricta de tipos- Admite herencia muacuteltiple- Soporta clases parametrizadas- La gestioacuten de memoria la lleva a cabo el entorno de programacioacuten- Eiffel proporciona una biblioteca de clases predefinidas muy completa- Eiffel cuenta con la clase como uacutenico criterio de estructuracioacuten- Una declaracioacuten de clase en Eiffel puede incluir una lista de caracteriacutesticasexportadas una lista de clases predecesoras y una lista de declaraciones decaracteriacutesticas- Cuenta con manejo de excepciones- [Meyer 1992] es una de las referencias obligadas aunque con unas mirasmaacutes amplias se recomienda [Meyer 1997]

-Disentildeo por contrato

bull Precondiciones que deben cumplirse antes de que se invoque un meacutetodobull Postcondiciones que se garantizan han de cumplirse despueacutes de que sehaya ejecutado el meacutetodobull Invariantes condicioacuten que debe cumplir la clase en toda circunstanciaestablebull Un contrato entre el proveedor y el usuario de una clase espera que1048670 El usuario de una clase aseguraraacute que las precondiciones de un meacutetodose cumplan antes de que el meacutetodo se invoque1048670 El proveedor de la clase garantizaraacute que las postcondiciones se cumplandespueacutes que se ha aplicado el meacutetodo

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 7: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

OP OO

EJEMPLOSEJEMPLOSENTRADA

SALIDA

ENTRADA

SALIDA

PROCEDIMIENTOS A

PROCESOS A

PASOS A

OBJETOS A

ATRIBUTOS

METODOS

OBJETOS B

ATRIBUTOS

METODOS

OBJETOS C

ATRIBUTOS

METODOS

2121Existen varias clasificaciones de los LPOO

atendiendo a criterios de construccioacuten ocaracteriacutesticas especiacuteficas de los mismos

bull Clasificacioacuten de Peter Wegnerbull Clasificacioacuten de Teslerbull Clasificacioacuten seguacuten el origen

Clasificacioacuten deWegner bull Lenguajes Basados en Objetos Soportan objetos Es decirdisponen de componentes caracterizados por un conjunto deoperaciones (comportamiento) y un estadobull Lenguajes Basados en Clases Disponen ademaacutes de objetosde componentes tipo clase con operaciones y estado comuacutenbull Lenguajes Orientados al Objeto Ademaacutes de objetos y clasesofrecen mecanismos de herencia

Clasificacioacuten de WegnerBasado en objeto = encapsulamiento +identidad de objetosbull Basado en clases = basado en objetos +abstraccioacuten de conjuntobull Orientados a objetos = Basados en clases +herencia + autorrecursioacuten

BASADO EN OBJETOS

BASADO EN CLASES

ORIENTADO AL OBJETO

OBJETOS

ADA 95

C++

EIFFIEL

SMARLLTALK

DELPHI

ADA 873

CLIPPER 52

+ CLASES

+ HERENCIAS

CLU

Clasificacioacuten de Tesler

OODLObject ndash Oriented

Dinamic LanguajesSmalltlk Dylan

PODLProcess ndash Oriented Dinamic Languajes

Lisp Schame

OOSLObject ndash Oriented Static Languajes

C + +JAVA

POSLProcess-oriented Static Languajes

Pascal C

Dinamicos

Estaticos

Orientados al objetoOrientados al proceso

2323Clasificacioacuten de Tesler

Comprobacion estrictaComprobacion debilSin tipos

Un sistema de tipos son las reglas que la

establecen la utilizacion de los tipos su

correccion en un lenguaje de modelado o

relizacion

Chequeo de momento

Smalltalk

Dinamico

Rigurosidad

Sin Tipos

CLASIFICACION DE TESLER

Clasificacioacuten de Tesler

Beneficios del uso de lenguajes con tiposestrictosndash Evitan los fallos en tiempo de ejecucioacutenderivados de conflictos con los tiposndash Deteccioacuten temprana en tiempo de compilacioacutende erroresndash Declaracioacuten de tipos como ayuda para ladocumentacioacutenndash Eficiencia en el coacutedigo

Clasificacioacuten de Tesler

Tipificacioacuten o tipado (ldquotypingrdquo) es el proceso dedeclarar cuaacutel es el tipo de informacioacuten que puede

contener una variable

Sistemas de tipos estaacuteticosbull Tambieacuten llamados sistemas contipado fuerte o estrictobull Exigen asociacioacuten expliacutecita de un tipoa cada nombre declaradobull El tipo de cada objeto se ha de determinarcon anterioridad a la ejecucioacuten del programabull Menos flexible pero maacutes segurabull Ejecucioacuten maacutes eficiente al no tener quehacer comprobacioacuten de tipos en tiempo deEjecucioacuten

Sistemas de tipos dinaacutemicosbull Tambieacuten llamados sistemas con tipadodeacutebilno estricto o dinaacutemicobull No exigen asociacioacuten expliacutecita de un tipoa cada variablebull Cada objeto conoce su tipo cuando se creadurante la ejecucioacutenbull Maacutes flexibilidadbull Peacuterdida de eficiencia durante la ejecucioacuten delprograma debida a la necesidad de mantenery comprobar el tipo de todos los objetosdurante la ejecucioacuten

Clasificacioacuten de Tesler

Ligadura es el proceso de asociar un atributo a un nombreEn el caso de las funciones el teacutermino ligadura (binding) serefiere a la conexioacuten o enlace entre una llamada a funcioacuteny el coacutedigo real ejecutado como resultado de la llamada[Joyanes 1998]

Ligadura estaacutetica otemprana

Ligadura dinaacutemica otardiacutea

Clasificacioacuten de Tesler

Ligadura estaacutetica o temprana

ndash Resuelve las correspondencias en tiempo de compilacioacutenndash No hay sobrecarga en tiempo de ejecucioacuten y los fallos se detectanen tiempo de compilacioacutenndash Los enlaces no pueden hacerse sin volver a compilar

bull Ligadura dinaacutemica o tardiacutea

ndash La correspondencia se hace al invocar los meacutetodosndash Soporta la evolucioacuten de los programas sin tener que recompilarndash Coste en tiempo de ejecucioacuten

No hay garantia de interpretacionInterpretacion

flexible SMALLTALK

Garantia de correccion Interpretacion flexibleC++ OBJECT PASCAL

Combinacion No Valida Sin Sentido

GaraniaDe correccionInterpretacion

inflexible

C COBOL

Dinamicos

Estaticos

Comprobacion dinamica

Comprobacion Estatica

Clasificacioacuten de Tesler

Clasificacioacuten seguacuten el

Origen

Lenguajes purosLenguajes Hibridos

Smalltalk Eiffel

C ++ OBJECT PASCAL

Objetos Mensajes

Clases

Objetos Mensajes

Clases

Lenguajes con base tradicional

+

Clasificacioacuten seguacuten elOrigen

Caracteriacutesticas de losLPOO

31 Elementos Concretos

Requisitos Deseablesen los LPOO

Conceptos clarosbull Orientacioacuten al Objetopurabull Seguridadbull Alto nivelbull Modelo de ejecucioacutensimplebull Sintaxis faacutecil de leer

bull Eliminacioacuten de laredundanciabull Pequentildeobull De faacutecil transicioacuten aotros lenguajesbull Soporte para elaseguramiento de lacorreccioacutenbull Entornos agradables

Revisioacuten de algunos delos Principales LPOO

41 SIMULA

El Simula 67 fue considerado como elprimer LPOO

bull Fue disentildeado en 1967 por Ole-Johan Dhaly Kristen Nygaard en el Norwegian

Computing Center en Oslobull El nombre de Simula 67 fue acortado a

Simula en 1986 existiendo un estaacutendar dellenguaje desde 1987 [SIS 1987]

- Primer lenguaje creado con tecnologiacutea de objetos puros- El origen de Smalltalk estaacute alrededor de 1970 en la Universidad de Utahde la mano de Alan Kay- Smalltalk se desarrolla en el Xerox Palo Alto Research Center (PARC)de la mano de Alan Kay Adele Goldberg y Daniel Ingalls- Los conceptos de Smalltalk han influido en el disentildeo de LPOO y en el aspectoy sensacioacuten de los GUI como los de Macintosh o Motif- Smalltalk 72 Smalltalk 74 Smalltalk 76 Smalltalk 78 y Smalltalk 80- SmalltalkV de Digital- Entorno de programacioacuten Lenguaje Smalltalk baacutesico Coleccioacuten de clases y elentorno real de programacioacuten- El estilo del lenguaje se enfatiza la ligadura dinaacutemica y no realiza chequeo detipos- El bloque fundamental es la clase que contiene la descripcioacuten de variables ymeacutetodos- Los meacutetodos contienen el coacutedigo y definen coacutemo responde un objeto a unmensaje

SMALLTALK

- La ejecucioacuten de una rutina de un objeto se denomina en la terminologiacutea deSmalltalk ldquoenviar un mensajerdquo al objeto cuya clase encontraraacute la formaapropiada de manejar dicho mensaje- Todo en Smalltalk son objetos incluyendo a las propias clases- El entorno de Smalltalk permite un raacutepido desarrollo de programas- La biblioteca de clases fue disentildeada para ser extendida y adaptada por adicioacutende subclases para satisfacer las necesidades de la aplicacioacuten- La arquitectura ModeloVistaControlador (MVC) es una importante contribucioacutende Smalltalk- Una referencia claacutesica sobre Smalltalk es [Goldberg and Robson 1983]

43 C++

- C++ es un lenguaje hiacutebrido extensioacuten del lenguaje C- Fue desarrollado por Bjarne Stroustrup en los laboratorios ATampT- Las primeras versiones del lenguaje se denominaron C con clasesy datan de 1980- El nombre de C++ se debe a Rick Mascitti quien lo bautizoacute de estamanera en el verano de 1983- C++ fue instalado por primera vez fuera del grupo de investigacioacutendel autor en julio de 1983- En 1987 surge la necesidad de estandarizacioacuten de C++- Dispone de capacidades para la herencia simple y muacuteltiple- Por defecto C++ tiene ligadura estaacutetica- Las funciones definidas como virtuales pueden beneficiarse delconcepto de ligadura dinaacutemica

C++ es estrictamente tipado aunque admite la posibilidad de casting- No cuenta con un recolector de basura- La ausencia de un gestor automaacutetico de memoria por defecto obligaal concepto de destructor- Ocultamiento de la informacioacuten incluso a los descendientes- Cuenta con un mecanismo de acceso especial por parte de una clase ouna funcioacuten que se declare como friend- Soporte de manejo de excepciones- Soporte de genericidad mediante las plantillas- Permite sobrecarga de operadores- Sintaxis oscura y gramaacutetica difiacutecil de analizar- Lenguaje complejo preocupado por la deteccioacuten temprana de erroresy por la eficiencia de la ejecucioacuten perdiendo algo de sencillez y deflexibilidad para el disentildeo- [Stroustrup 1997] es una referencia vaacutelida para este lenguaje

Eiffel

- Eiffel fue desarrollado por Bertrand Meyer- Es un lenguaje orientado al objeto puro- Soporta ligadura dinaacutemica- Tiene comprobacioacuten estricta de tipos- Admite herencia muacuteltiple- Soporta clases parametrizadas- La gestioacuten de memoria la lleva a cabo el entorno de programacioacuten- Eiffel proporciona una biblioteca de clases predefinidas muy completa- Eiffel cuenta con la clase como uacutenico criterio de estructuracioacuten- Una declaracioacuten de clase en Eiffel puede incluir una lista de caracteriacutesticasexportadas una lista de clases predecesoras y una lista de declaraciones decaracteriacutesticas- Cuenta con manejo de excepciones- [Meyer 1992] es una de las referencias obligadas aunque con unas mirasmaacutes amplias se recomienda [Meyer 1997]

-Disentildeo por contrato

bull Precondiciones que deben cumplirse antes de que se invoque un meacutetodobull Postcondiciones que se garantizan han de cumplirse despueacutes de que sehaya ejecutado el meacutetodobull Invariantes condicioacuten que debe cumplir la clase en toda circunstanciaestablebull Un contrato entre el proveedor y el usuario de una clase espera que1048670 El usuario de una clase aseguraraacute que las precondiciones de un meacutetodose cumplan antes de que el meacutetodo se invoque1048670 El proveedor de la clase garantizaraacute que las postcondiciones se cumplandespueacutes que se ha aplicado el meacutetodo

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 8: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

2121Existen varias clasificaciones de los LPOO

atendiendo a criterios de construccioacuten ocaracteriacutesticas especiacuteficas de los mismos

bull Clasificacioacuten de Peter Wegnerbull Clasificacioacuten de Teslerbull Clasificacioacuten seguacuten el origen

Clasificacioacuten deWegner bull Lenguajes Basados en Objetos Soportan objetos Es decirdisponen de componentes caracterizados por un conjunto deoperaciones (comportamiento) y un estadobull Lenguajes Basados en Clases Disponen ademaacutes de objetosde componentes tipo clase con operaciones y estado comuacutenbull Lenguajes Orientados al Objeto Ademaacutes de objetos y clasesofrecen mecanismos de herencia

Clasificacioacuten de WegnerBasado en objeto = encapsulamiento +identidad de objetosbull Basado en clases = basado en objetos +abstraccioacuten de conjuntobull Orientados a objetos = Basados en clases +herencia + autorrecursioacuten

BASADO EN OBJETOS

BASADO EN CLASES

ORIENTADO AL OBJETO

OBJETOS

ADA 95

C++

EIFFIEL

SMARLLTALK

DELPHI

ADA 873

CLIPPER 52

+ CLASES

+ HERENCIAS

CLU

Clasificacioacuten de Tesler

OODLObject ndash Oriented

Dinamic LanguajesSmalltlk Dylan

PODLProcess ndash Oriented Dinamic Languajes

Lisp Schame

OOSLObject ndash Oriented Static Languajes

C + +JAVA

POSLProcess-oriented Static Languajes

Pascal C

Dinamicos

Estaticos

Orientados al objetoOrientados al proceso

2323Clasificacioacuten de Tesler

Comprobacion estrictaComprobacion debilSin tipos

Un sistema de tipos son las reglas que la

establecen la utilizacion de los tipos su

correccion en un lenguaje de modelado o

relizacion

Chequeo de momento

Smalltalk

Dinamico

Rigurosidad

Sin Tipos

CLASIFICACION DE TESLER

Clasificacioacuten de Tesler

Beneficios del uso de lenguajes con tiposestrictosndash Evitan los fallos en tiempo de ejecucioacutenderivados de conflictos con los tiposndash Deteccioacuten temprana en tiempo de compilacioacutende erroresndash Declaracioacuten de tipos como ayuda para ladocumentacioacutenndash Eficiencia en el coacutedigo

Clasificacioacuten de Tesler

Tipificacioacuten o tipado (ldquotypingrdquo) es el proceso dedeclarar cuaacutel es el tipo de informacioacuten que puede

contener una variable

Sistemas de tipos estaacuteticosbull Tambieacuten llamados sistemas contipado fuerte o estrictobull Exigen asociacioacuten expliacutecita de un tipoa cada nombre declaradobull El tipo de cada objeto se ha de determinarcon anterioridad a la ejecucioacuten del programabull Menos flexible pero maacutes segurabull Ejecucioacuten maacutes eficiente al no tener quehacer comprobacioacuten de tipos en tiempo deEjecucioacuten

Sistemas de tipos dinaacutemicosbull Tambieacuten llamados sistemas con tipadodeacutebilno estricto o dinaacutemicobull No exigen asociacioacuten expliacutecita de un tipoa cada variablebull Cada objeto conoce su tipo cuando se creadurante la ejecucioacutenbull Maacutes flexibilidadbull Peacuterdida de eficiencia durante la ejecucioacuten delprograma debida a la necesidad de mantenery comprobar el tipo de todos los objetosdurante la ejecucioacuten

Clasificacioacuten de Tesler

Ligadura es el proceso de asociar un atributo a un nombreEn el caso de las funciones el teacutermino ligadura (binding) serefiere a la conexioacuten o enlace entre una llamada a funcioacuteny el coacutedigo real ejecutado como resultado de la llamada[Joyanes 1998]

Ligadura estaacutetica otemprana

Ligadura dinaacutemica otardiacutea

Clasificacioacuten de Tesler

Ligadura estaacutetica o temprana

ndash Resuelve las correspondencias en tiempo de compilacioacutenndash No hay sobrecarga en tiempo de ejecucioacuten y los fallos se detectanen tiempo de compilacioacutenndash Los enlaces no pueden hacerse sin volver a compilar

bull Ligadura dinaacutemica o tardiacutea

ndash La correspondencia se hace al invocar los meacutetodosndash Soporta la evolucioacuten de los programas sin tener que recompilarndash Coste en tiempo de ejecucioacuten

No hay garantia de interpretacionInterpretacion

flexible SMALLTALK

Garantia de correccion Interpretacion flexibleC++ OBJECT PASCAL

Combinacion No Valida Sin Sentido

GaraniaDe correccionInterpretacion

inflexible

C COBOL

Dinamicos

Estaticos

Comprobacion dinamica

Comprobacion Estatica

Clasificacioacuten de Tesler

Clasificacioacuten seguacuten el

Origen

Lenguajes purosLenguajes Hibridos

Smalltalk Eiffel

C ++ OBJECT PASCAL

Objetos Mensajes

Clases

Objetos Mensajes

Clases

Lenguajes con base tradicional

+

Clasificacioacuten seguacuten elOrigen

Caracteriacutesticas de losLPOO

31 Elementos Concretos

Requisitos Deseablesen los LPOO

Conceptos clarosbull Orientacioacuten al Objetopurabull Seguridadbull Alto nivelbull Modelo de ejecucioacutensimplebull Sintaxis faacutecil de leer

bull Eliminacioacuten de laredundanciabull Pequentildeobull De faacutecil transicioacuten aotros lenguajesbull Soporte para elaseguramiento de lacorreccioacutenbull Entornos agradables

Revisioacuten de algunos delos Principales LPOO

41 SIMULA

El Simula 67 fue considerado como elprimer LPOO

bull Fue disentildeado en 1967 por Ole-Johan Dhaly Kristen Nygaard en el Norwegian

Computing Center en Oslobull El nombre de Simula 67 fue acortado a

Simula en 1986 existiendo un estaacutendar dellenguaje desde 1987 [SIS 1987]

- Primer lenguaje creado con tecnologiacutea de objetos puros- El origen de Smalltalk estaacute alrededor de 1970 en la Universidad de Utahde la mano de Alan Kay- Smalltalk se desarrolla en el Xerox Palo Alto Research Center (PARC)de la mano de Alan Kay Adele Goldberg y Daniel Ingalls- Los conceptos de Smalltalk han influido en el disentildeo de LPOO y en el aspectoy sensacioacuten de los GUI como los de Macintosh o Motif- Smalltalk 72 Smalltalk 74 Smalltalk 76 Smalltalk 78 y Smalltalk 80- SmalltalkV de Digital- Entorno de programacioacuten Lenguaje Smalltalk baacutesico Coleccioacuten de clases y elentorno real de programacioacuten- El estilo del lenguaje se enfatiza la ligadura dinaacutemica y no realiza chequeo detipos- El bloque fundamental es la clase que contiene la descripcioacuten de variables ymeacutetodos- Los meacutetodos contienen el coacutedigo y definen coacutemo responde un objeto a unmensaje

SMALLTALK

- La ejecucioacuten de una rutina de un objeto se denomina en la terminologiacutea deSmalltalk ldquoenviar un mensajerdquo al objeto cuya clase encontraraacute la formaapropiada de manejar dicho mensaje- Todo en Smalltalk son objetos incluyendo a las propias clases- El entorno de Smalltalk permite un raacutepido desarrollo de programas- La biblioteca de clases fue disentildeada para ser extendida y adaptada por adicioacutende subclases para satisfacer las necesidades de la aplicacioacuten- La arquitectura ModeloVistaControlador (MVC) es una importante contribucioacutende Smalltalk- Una referencia claacutesica sobre Smalltalk es [Goldberg and Robson 1983]

43 C++

- C++ es un lenguaje hiacutebrido extensioacuten del lenguaje C- Fue desarrollado por Bjarne Stroustrup en los laboratorios ATampT- Las primeras versiones del lenguaje se denominaron C con clasesy datan de 1980- El nombre de C++ se debe a Rick Mascitti quien lo bautizoacute de estamanera en el verano de 1983- C++ fue instalado por primera vez fuera del grupo de investigacioacutendel autor en julio de 1983- En 1987 surge la necesidad de estandarizacioacuten de C++- Dispone de capacidades para la herencia simple y muacuteltiple- Por defecto C++ tiene ligadura estaacutetica- Las funciones definidas como virtuales pueden beneficiarse delconcepto de ligadura dinaacutemica

C++ es estrictamente tipado aunque admite la posibilidad de casting- No cuenta con un recolector de basura- La ausencia de un gestor automaacutetico de memoria por defecto obligaal concepto de destructor- Ocultamiento de la informacioacuten incluso a los descendientes- Cuenta con un mecanismo de acceso especial por parte de una clase ouna funcioacuten que se declare como friend- Soporte de manejo de excepciones- Soporte de genericidad mediante las plantillas- Permite sobrecarga de operadores- Sintaxis oscura y gramaacutetica difiacutecil de analizar- Lenguaje complejo preocupado por la deteccioacuten temprana de erroresy por la eficiencia de la ejecucioacuten perdiendo algo de sencillez y deflexibilidad para el disentildeo- [Stroustrup 1997] es una referencia vaacutelida para este lenguaje

Eiffel

- Eiffel fue desarrollado por Bertrand Meyer- Es un lenguaje orientado al objeto puro- Soporta ligadura dinaacutemica- Tiene comprobacioacuten estricta de tipos- Admite herencia muacuteltiple- Soporta clases parametrizadas- La gestioacuten de memoria la lleva a cabo el entorno de programacioacuten- Eiffel proporciona una biblioteca de clases predefinidas muy completa- Eiffel cuenta con la clase como uacutenico criterio de estructuracioacuten- Una declaracioacuten de clase en Eiffel puede incluir una lista de caracteriacutesticasexportadas una lista de clases predecesoras y una lista de declaraciones decaracteriacutesticas- Cuenta con manejo de excepciones- [Meyer 1992] es una de las referencias obligadas aunque con unas mirasmaacutes amplias se recomienda [Meyer 1997]

-Disentildeo por contrato

bull Precondiciones que deben cumplirse antes de que se invoque un meacutetodobull Postcondiciones que se garantizan han de cumplirse despueacutes de que sehaya ejecutado el meacutetodobull Invariantes condicioacuten que debe cumplir la clase en toda circunstanciaestablebull Un contrato entre el proveedor y el usuario de una clase espera que1048670 El usuario de una clase aseguraraacute que las precondiciones de un meacutetodose cumplan antes de que el meacutetodo se invoque1048670 El proveedor de la clase garantizaraacute que las postcondiciones se cumplandespueacutes que se ha aplicado el meacutetodo

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 9: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

Clasificacioacuten de WegnerBasado en objeto = encapsulamiento +identidad de objetosbull Basado en clases = basado en objetos +abstraccioacuten de conjuntobull Orientados a objetos = Basados en clases +herencia + autorrecursioacuten

BASADO EN OBJETOS

BASADO EN CLASES

ORIENTADO AL OBJETO

OBJETOS

ADA 95

C++

EIFFIEL

SMARLLTALK

DELPHI

ADA 873

CLIPPER 52

+ CLASES

+ HERENCIAS

CLU

Clasificacioacuten de Tesler

OODLObject ndash Oriented

Dinamic LanguajesSmalltlk Dylan

PODLProcess ndash Oriented Dinamic Languajes

Lisp Schame

OOSLObject ndash Oriented Static Languajes

C + +JAVA

POSLProcess-oriented Static Languajes

Pascal C

Dinamicos

Estaticos

Orientados al objetoOrientados al proceso

2323Clasificacioacuten de Tesler

Comprobacion estrictaComprobacion debilSin tipos

Un sistema de tipos son las reglas que la

establecen la utilizacion de los tipos su

correccion en un lenguaje de modelado o

relizacion

Chequeo de momento

Smalltalk

Dinamico

Rigurosidad

Sin Tipos

CLASIFICACION DE TESLER

Clasificacioacuten de Tesler

Beneficios del uso de lenguajes con tiposestrictosndash Evitan los fallos en tiempo de ejecucioacutenderivados de conflictos con los tiposndash Deteccioacuten temprana en tiempo de compilacioacutende erroresndash Declaracioacuten de tipos como ayuda para ladocumentacioacutenndash Eficiencia en el coacutedigo

Clasificacioacuten de Tesler

Tipificacioacuten o tipado (ldquotypingrdquo) es el proceso dedeclarar cuaacutel es el tipo de informacioacuten que puede

contener una variable

Sistemas de tipos estaacuteticosbull Tambieacuten llamados sistemas contipado fuerte o estrictobull Exigen asociacioacuten expliacutecita de un tipoa cada nombre declaradobull El tipo de cada objeto se ha de determinarcon anterioridad a la ejecucioacuten del programabull Menos flexible pero maacutes segurabull Ejecucioacuten maacutes eficiente al no tener quehacer comprobacioacuten de tipos en tiempo deEjecucioacuten

Sistemas de tipos dinaacutemicosbull Tambieacuten llamados sistemas con tipadodeacutebilno estricto o dinaacutemicobull No exigen asociacioacuten expliacutecita de un tipoa cada variablebull Cada objeto conoce su tipo cuando se creadurante la ejecucioacutenbull Maacutes flexibilidadbull Peacuterdida de eficiencia durante la ejecucioacuten delprograma debida a la necesidad de mantenery comprobar el tipo de todos los objetosdurante la ejecucioacuten

Clasificacioacuten de Tesler

Ligadura es el proceso de asociar un atributo a un nombreEn el caso de las funciones el teacutermino ligadura (binding) serefiere a la conexioacuten o enlace entre una llamada a funcioacuteny el coacutedigo real ejecutado como resultado de la llamada[Joyanes 1998]

Ligadura estaacutetica otemprana

Ligadura dinaacutemica otardiacutea

Clasificacioacuten de Tesler

Ligadura estaacutetica o temprana

ndash Resuelve las correspondencias en tiempo de compilacioacutenndash No hay sobrecarga en tiempo de ejecucioacuten y los fallos se detectanen tiempo de compilacioacutenndash Los enlaces no pueden hacerse sin volver a compilar

bull Ligadura dinaacutemica o tardiacutea

ndash La correspondencia se hace al invocar los meacutetodosndash Soporta la evolucioacuten de los programas sin tener que recompilarndash Coste en tiempo de ejecucioacuten

No hay garantia de interpretacionInterpretacion

flexible SMALLTALK

Garantia de correccion Interpretacion flexibleC++ OBJECT PASCAL

Combinacion No Valida Sin Sentido

GaraniaDe correccionInterpretacion

inflexible

C COBOL

Dinamicos

Estaticos

Comprobacion dinamica

Comprobacion Estatica

Clasificacioacuten de Tesler

Clasificacioacuten seguacuten el

Origen

Lenguajes purosLenguajes Hibridos

Smalltalk Eiffel

C ++ OBJECT PASCAL

Objetos Mensajes

Clases

Objetos Mensajes

Clases

Lenguajes con base tradicional

+

Clasificacioacuten seguacuten elOrigen

Caracteriacutesticas de losLPOO

31 Elementos Concretos

Requisitos Deseablesen los LPOO

Conceptos clarosbull Orientacioacuten al Objetopurabull Seguridadbull Alto nivelbull Modelo de ejecucioacutensimplebull Sintaxis faacutecil de leer

bull Eliminacioacuten de laredundanciabull Pequentildeobull De faacutecil transicioacuten aotros lenguajesbull Soporte para elaseguramiento de lacorreccioacutenbull Entornos agradables

Revisioacuten de algunos delos Principales LPOO

41 SIMULA

El Simula 67 fue considerado como elprimer LPOO

bull Fue disentildeado en 1967 por Ole-Johan Dhaly Kristen Nygaard en el Norwegian

Computing Center en Oslobull El nombre de Simula 67 fue acortado a

Simula en 1986 existiendo un estaacutendar dellenguaje desde 1987 [SIS 1987]

- Primer lenguaje creado con tecnologiacutea de objetos puros- El origen de Smalltalk estaacute alrededor de 1970 en la Universidad de Utahde la mano de Alan Kay- Smalltalk se desarrolla en el Xerox Palo Alto Research Center (PARC)de la mano de Alan Kay Adele Goldberg y Daniel Ingalls- Los conceptos de Smalltalk han influido en el disentildeo de LPOO y en el aspectoy sensacioacuten de los GUI como los de Macintosh o Motif- Smalltalk 72 Smalltalk 74 Smalltalk 76 Smalltalk 78 y Smalltalk 80- SmalltalkV de Digital- Entorno de programacioacuten Lenguaje Smalltalk baacutesico Coleccioacuten de clases y elentorno real de programacioacuten- El estilo del lenguaje se enfatiza la ligadura dinaacutemica y no realiza chequeo detipos- El bloque fundamental es la clase que contiene la descripcioacuten de variables ymeacutetodos- Los meacutetodos contienen el coacutedigo y definen coacutemo responde un objeto a unmensaje

SMALLTALK

- La ejecucioacuten de una rutina de un objeto se denomina en la terminologiacutea deSmalltalk ldquoenviar un mensajerdquo al objeto cuya clase encontraraacute la formaapropiada de manejar dicho mensaje- Todo en Smalltalk son objetos incluyendo a las propias clases- El entorno de Smalltalk permite un raacutepido desarrollo de programas- La biblioteca de clases fue disentildeada para ser extendida y adaptada por adicioacutende subclases para satisfacer las necesidades de la aplicacioacuten- La arquitectura ModeloVistaControlador (MVC) es una importante contribucioacutende Smalltalk- Una referencia claacutesica sobre Smalltalk es [Goldberg and Robson 1983]

43 C++

- C++ es un lenguaje hiacutebrido extensioacuten del lenguaje C- Fue desarrollado por Bjarne Stroustrup en los laboratorios ATampT- Las primeras versiones del lenguaje se denominaron C con clasesy datan de 1980- El nombre de C++ se debe a Rick Mascitti quien lo bautizoacute de estamanera en el verano de 1983- C++ fue instalado por primera vez fuera del grupo de investigacioacutendel autor en julio de 1983- En 1987 surge la necesidad de estandarizacioacuten de C++- Dispone de capacidades para la herencia simple y muacuteltiple- Por defecto C++ tiene ligadura estaacutetica- Las funciones definidas como virtuales pueden beneficiarse delconcepto de ligadura dinaacutemica

C++ es estrictamente tipado aunque admite la posibilidad de casting- No cuenta con un recolector de basura- La ausencia de un gestor automaacutetico de memoria por defecto obligaal concepto de destructor- Ocultamiento de la informacioacuten incluso a los descendientes- Cuenta con un mecanismo de acceso especial por parte de una clase ouna funcioacuten que se declare como friend- Soporte de manejo de excepciones- Soporte de genericidad mediante las plantillas- Permite sobrecarga de operadores- Sintaxis oscura y gramaacutetica difiacutecil de analizar- Lenguaje complejo preocupado por la deteccioacuten temprana de erroresy por la eficiencia de la ejecucioacuten perdiendo algo de sencillez y deflexibilidad para el disentildeo- [Stroustrup 1997] es una referencia vaacutelida para este lenguaje

Eiffel

- Eiffel fue desarrollado por Bertrand Meyer- Es un lenguaje orientado al objeto puro- Soporta ligadura dinaacutemica- Tiene comprobacioacuten estricta de tipos- Admite herencia muacuteltiple- Soporta clases parametrizadas- La gestioacuten de memoria la lleva a cabo el entorno de programacioacuten- Eiffel proporciona una biblioteca de clases predefinidas muy completa- Eiffel cuenta con la clase como uacutenico criterio de estructuracioacuten- Una declaracioacuten de clase en Eiffel puede incluir una lista de caracteriacutesticasexportadas una lista de clases predecesoras y una lista de declaraciones decaracteriacutesticas- Cuenta con manejo de excepciones- [Meyer 1992] es una de las referencias obligadas aunque con unas mirasmaacutes amplias se recomienda [Meyer 1997]

-Disentildeo por contrato

bull Precondiciones que deben cumplirse antes de que se invoque un meacutetodobull Postcondiciones que se garantizan han de cumplirse despueacutes de que sehaya ejecutado el meacutetodobull Invariantes condicioacuten que debe cumplir la clase en toda circunstanciaestablebull Un contrato entre el proveedor y el usuario de una clase espera que1048670 El usuario de una clase aseguraraacute que las precondiciones de un meacutetodose cumplan antes de que el meacutetodo se invoque1048670 El proveedor de la clase garantizaraacute que las postcondiciones se cumplandespueacutes que se ha aplicado el meacutetodo

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 10: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

Clasificacioacuten de Tesler

OODLObject ndash Oriented

Dinamic LanguajesSmalltlk Dylan

PODLProcess ndash Oriented Dinamic Languajes

Lisp Schame

OOSLObject ndash Oriented Static Languajes

C + +JAVA

POSLProcess-oriented Static Languajes

Pascal C

Dinamicos

Estaticos

Orientados al objetoOrientados al proceso

2323Clasificacioacuten de Tesler

Comprobacion estrictaComprobacion debilSin tipos

Un sistema de tipos son las reglas que la

establecen la utilizacion de los tipos su

correccion en un lenguaje de modelado o

relizacion

Chequeo de momento

Smalltalk

Dinamico

Rigurosidad

Sin Tipos

CLASIFICACION DE TESLER

Clasificacioacuten de Tesler

Beneficios del uso de lenguajes con tiposestrictosndash Evitan los fallos en tiempo de ejecucioacutenderivados de conflictos con los tiposndash Deteccioacuten temprana en tiempo de compilacioacutende erroresndash Declaracioacuten de tipos como ayuda para ladocumentacioacutenndash Eficiencia en el coacutedigo

Clasificacioacuten de Tesler

Tipificacioacuten o tipado (ldquotypingrdquo) es el proceso dedeclarar cuaacutel es el tipo de informacioacuten que puede

contener una variable

Sistemas de tipos estaacuteticosbull Tambieacuten llamados sistemas contipado fuerte o estrictobull Exigen asociacioacuten expliacutecita de un tipoa cada nombre declaradobull El tipo de cada objeto se ha de determinarcon anterioridad a la ejecucioacuten del programabull Menos flexible pero maacutes segurabull Ejecucioacuten maacutes eficiente al no tener quehacer comprobacioacuten de tipos en tiempo deEjecucioacuten

Sistemas de tipos dinaacutemicosbull Tambieacuten llamados sistemas con tipadodeacutebilno estricto o dinaacutemicobull No exigen asociacioacuten expliacutecita de un tipoa cada variablebull Cada objeto conoce su tipo cuando se creadurante la ejecucioacutenbull Maacutes flexibilidadbull Peacuterdida de eficiencia durante la ejecucioacuten delprograma debida a la necesidad de mantenery comprobar el tipo de todos los objetosdurante la ejecucioacuten

Clasificacioacuten de Tesler

Ligadura es el proceso de asociar un atributo a un nombreEn el caso de las funciones el teacutermino ligadura (binding) serefiere a la conexioacuten o enlace entre una llamada a funcioacuteny el coacutedigo real ejecutado como resultado de la llamada[Joyanes 1998]

Ligadura estaacutetica otemprana

Ligadura dinaacutemica otardiacutea

Clasificacioacuten de Tesler

Ligadura estaacutetica o temprana

ndash Resuelve las correspondencias en tiempo de compilacioacutenndash No hay sobrecarga en tiempo de ejecucioacuten y los fallos se detectanen tiempo de compilacioacutenndash Los enlaces no pueden hacerse sin volver a compilar

bull Ligadura dinaacutemica o tardiacutea

ndash La correspondencia se hace al invocar los meacutetodosndash Soporta la evolucioacuten de los programas sin tener que recompilarndash Coste en tiempo de ejecucioacuten

No hay garantia de interpretacionInterpretacion

flexible SMALLTALK

Garantia de correccion Interpretacion flexibleC++ OBJECT PASCAL

Combinacion No Valida Sin Sentido

GaraniaDe correccionInterpretacion

inflexible

C COBOL

Dinamicos

Estaticos

Comprobacion dinamica

Comprobacion Estatica

Clasificacioacuten de Tesler

Clasificacioacuten seguacuten el

Origen

Lenguajes purosLenguajes Hibridos

Smalltalk Eiffel

C ++ OBJECT PASCAL

Objetos Mensajes

Clases

Objetos Mensajes

Clases

Lenguajes con base tradicional

+

Clasificacioacuten seguacuten elOrigen

Caracteriacutesticas de losLPOO

31 Elementos Concretos

Requisitos Deseablesen los LPOO

Conceptos clarosbull Orientacioacuten al Objetopurabull Seguridadbull Alto nivelbull Modelo de ejecucioacutensimplebull Sintaxis faacutecil de leer

bull Eliminacioacuten de laredundanciabull Pequentildeobull De faacutecil transicioacuten aotros lenguajesbull Soporte para elaseguramiento de lacorreccioacutenbull Entornos agradables

Revisioacuten de algunos delos Principales LPOO

41 SIMULA

El Simula 67 fue considerado como elprimer LPOO

bull Fue disentildeado en 1967 por Ole-Johan Dhaly Kristen Nygaard en el Norwegian

Computing Center en Oslobull El nombre de Simula 67 fue acortado a

Simula en 1986 existiendo un estaacutendar dellenguaje desde 1987 [SIS 1987]

- Primer lenguaje creado con tecnologiacutea de objetos puros- El origen de Smalltalk estaacute alrededor de 1970 en la Universidad de Utahde la mano de Alan Kay- Smalltalk se desarrolla en el Xerox Palo Alto Research Center (PARC)de la mano de Alan Kay Adele Goldberg y Daniel Ingalls- Los conceptos de Smalltalk han influido en el disentildeo de LPOO y en el aspectoy sensacioacuten de los GUI como los de Macintosh o Motif- Smalltalk 72 Smalltalk 74 Smalltalk 76 Smalltalk 78 y Smalltalk 80- SmalltalkV de Digital- Entorno de programacioacuten Lenguaje Smalltalk baacutesico Coleccioacuten de clases y elentorno real de programacioacuten- El estilo del lenguaje se enfatiza la ligadura dinaacutemica y no realiza chequeo detipos- El bloque fundamental es la clase que contiene la descripcioacuten de variables ymeacutetodos- Los meacutetodos contienen el coacutedigo y definen coacutemo responde un objeto a unmensaje

SMALLTALK

- La ejecucioacuten de una rutina de un objeto se denomina en la terminologiacutea deSmalltalk ldquoenviar un mensajerdquo al objeto cuya clase encontraraacute la formaapropiada de manejar dicho mensaje- Todo en Smalltalk son objetos incluyendo a las propias clases- El entorno de Smalltalk permite un raacutepido desarrollo de programas- La biblioteca de clases fue disentildeada para ser extendida y adaptada por adicioacutende subclases para satisfacer las necesidades de la aplicacioacuten- La arquitectura ModeloVistaControlador (MVC) es una importante contribucioacutende Smalltalk- Una referencia claacutesica sobre Smalltalk es [Goldberg and Robson 1983]

43 C++

- C++ es un lenguaje hiacutebrido extensioacuten del lenguaje C- Fue desarrollado por Bjarne Stroustrup en los laboratorios ATampT- Las primeras versiones del lenguaje se denominaron C con clasesy datan de 1980- El nombre de C++ se debe a Rick Mascitti quien lo bautizoacute de estamanera en el verano de 1983- C++ fue instalado por primera vez fuera del grupo de investigacioacutendel autor en julio de 1983- En 1987 surge la necesidad de estandarizacioacuten de C++- Dispone de capacidades para la herencia simple y muacuteltiple- Por defecto C++ tiene ligadura estaacutetica- Las funciones definidas como virtuales pueden beneficiarse delconcepto de ligadura dinaacutemica

C++ es estrictamente tipado aunque admite la posibilidad de casting- No cuenta con un recolector de basura- La ausencia de un gestor automaacutetico de memoria por defecto obligaal concepto de destructor- Ocultamiento de la informacioacuten incluso a los descendientes- Cuenta con un mecanismo de acceso especial por parte de una clase ouna funcioacuten que se declare como friend- Soporte de manejo de excepciones- Soporte de genericidad mediante las plantillas- Permite sobrecarga de operadores- Sintaxis oscura y gramaacutetica difiacutecil de analizar- Lenguaje complejo preocupado por la deteccioacuten temprana de erroresy por la eficiencia de la ejecucioacuten perdiendo algo de sencillez y deflexibilidad para el disentildeo- [Stroustrup 1997] es una referencia vaacutelida para este lenguaje

Eiffel

- Eiffel fue desarrollado por Bertrand Meyer- Es un lenguaje orientado al objeto puro- Soporta ligadura dinaacutemica- Tiene comprobacioacuten estricta de tipos- Admite herencia muacuteltiple- Soporta clases parametrizadas- La gestioacuten de memoria la lleva a cabo el entorno de programacioacuten- Eiffel proporciona una biblioteca de clases predefinidas muy completa- Eiffel cuenta con la clase como uacutenico criterio de estructuracioacuten- Una declaracioacuten de clase en Eiffel puede incluir una lista de caracteriacutesticasexportadas una lista de clases predecesoras y una lista de declaraciones decaracteriacutesticas- Cuenta con manejo de excepciones- [Meyer 1992] es una de las referencias obligadas aunque con unas mirasmaacutes amplias se recomienda [Meyer 1997]

-Disentildeo por contrato

bull Precondiciones que deben cumplirse antes de que se invoque un meacutetodobull Postcondiciones que se garantizan han de cumplirse despueacutes de que sehaya ejecutado el meacutetodobull Invariantes condicioacuten que debe cumplir la clase en toda circunstanciaestablebull Un contrato entre el proveedor y el usuario de una clase espera que1048670 El usuario de una clase aseguraraacute que las precondiciones de un meacutetodose cumplan antes de que el meacutetodo se invoque1048670 El proveedor de la clase garantizaraacute que las postcondiciones se cumplandespueacutes que se ha aplicado el meacutetodo

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 11: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

2323Clasificacioacuten de Tesler

Comprobacion estrictaComprobacion debilSin tipos

Un sistema de tipos son las reglas que la

establecen la utilizacion de los tipos su

correccion en un lenguaje de modelado o

relizacion

Chequeo de momento

Smalltalk

Dinamico

Rigurosidad

Sin Tipos

CLASIFICACION DE TESLER

Clasificacioacuten de Tesler

Beneficios del uso de lenguajes con tiposestrictosndash Evitan los fallos en tiempo de ejecucioacutenderivados de conflictos con los tiposndash Deteccioacuten temprana en tiempo de compilacioacutende erroresndash Declaracioacuten de tipos como ayuda para ladocumentacioacutenndash Eficiencia en el coacutedigo

Clasificacioacuten de Tesler

Tipificacioacuten o tipado (ldquotypingrdquo) es el proceso dedeclarar cuaacutel es el tipo de informacioacuten que puede

contener una variable

Sistemas de tipos estaacuteticosbull Tambieacuten llamados sistemas contipado fuerte o estrictobull Exigen asociacioacuten expliacutecita de un tipoa cada nombre declaradobull El tipo de cada objeto se ha de determinarcon anterioridad a la ejecucioacuten del programabull Menos flexible pero maacutes segurabull Ejecucioacuten maacutes eficiente al no tener quehacer comprobacioacuten de tipos en tiempo deEjecucioacuten

Sistemas de tipos dinaacutemicosbull Tambieacuten llamados sistemas con tipadodeacutebilno estricto o dinaacutemicobull No exigen asociacioacuten expliacutecita de un tipoa cada variablebull Cada objeto conoce su tipo cuando se creadurante la ejecucioacutenbull Maacutes flexibilidadbull Peacuterdida de eficiencia durante la ejecucioacuten delprograma debida a la necesidad de mantenery comprobar el tipo de todos los objetosdurante la ejecucioacuten

Clasificacioacuten de Tesler

Ligadura es el proceso de asociar un atributo a un nombreEn el caso de las funciones el teacutermino ligadura (binding) serefiere a la conexioacuten o enlace entre una llamada a funcioacuteny el coacutedigo real ejecutado como resultado de la llamada[Joyanes 1998]

Ligadura estaacutetica otemprana

Ligadura dinaacutemica otardiacutea

Clasificacioacuten de Tesler

Ligadura estaacutetica o temprana

ndash Resuelve las correspondencias en tiempo de compilacioacutenndash No hay sobrecarga en tiempo de ejecucioacuten y los fallos se detectanen tiempo de compilacioacutenndash Los enlaces no pueden hacerse sin volver a compilar

bull Ligadura dinaacutemica o tardiacutea

ndash La correspondencia se hace al invocar los meacutetodosndash Soporta la evolucioacuten de los programas sin tener que recompilarndash Coste en tiempo de ejecucioacuten

No hay garantia de interpretacionInterpretacion

flexible SMALLTALK

Garantia de correccion Interpretacion flexibleC++ OBJECT PASCAL

Combinacion No Valida Sin Sentido

GaraniaDe correccionInterpretacion

inflexible

C COBOL

Dinamicos

Estaticos

Comprobacion dinamica

Comprobacion Estatica

Clasificacioacuten de Tesler

Clasificacioacuten seguacuten el

Origen

Lenguajes purosLenguajes Hibridos

Smalltalk Eiffel

C ++ OBJECT PASCAL

Objetos Mensajes

Clases

Objetos Mensajes

Clases

Lenguajes con base tradicional

+

Clasificacioacuten seguacuten elOrigen

Caracteriacutesticas de losLPOO

31 Elementos Concretos

Requisitos Deseablesen los LPOO

Conceptos clarosbull Orientacioacuten al Objetopurabull Seguridadbull Alto nivelbull Modelo de ejecucioacutensimplebull Sintaxis faacutecil de leer

bull Eliminacioacuten de laredundanciabull Pequentildeobull De faacutecil transicioacuten aotros lenguajesbull Soporte para elaseguramiento de lacorreccioacutenbull Entornos agradables

Revisioacuten de algunos delos Principales LPOO

41 SIMULA

El Simula 67 fue considerado como elprimer LPOO

bull Fue disentildeado en 1967 por Ole-Johan Dhaly Kristen Nygaard en el Norwegian

Computing Center en Oslobull El nombre de Simula 67 fue acortado a

Simula en 1986 existiendo un estaacutendar dellenguaje desde 1987 [SIS 1987]

- Primer lenguaje creado con tecnologiacutea de objetos puros- El origen de Smalltalk estaacute alrededor de 1970 en la Universidad de Utahde la mano de Alan Kay- Smalltalk se desarrolla en el Xerox Palo Alto Research Center (PARC)de la mano de Alan Kay Adele Goldberg y Daniel Ingalls- Los conceptos de Smalltalk han influido en el disentildeo de LPOO y en el aspectoy sensacioacuten de los GUI como los de Macintosh o Motif- Smalltalk 72 Smalltalk 74 Smalltalk 76 Smalltalk 78 y Smalltalk 80- SmalltalkV de Digital- Entorno de programacioacuten Lenguaje Smalltalk baacutesico Coleccioacuten de clases y elentorno real de programacioacuten- El estilo del lenguaje se enfatiza la ligadura dinaacutemica y no realiza chequeo detipos- El bloque fundamental es la clase que contiene la descripcioacuten de variables ymeacutetodos- Los meacutetodos contienen el coacutedigo y definen coacutemo responde un objeto a unmensaje

SMALLTALK

- La ejecucioacuten de una rutina de un objeto se denomina en la terminologiacutea deSmalltalk ldquoenviar un mensajerdquo al objeto cuya clase encontraraacute la formaapropiada de manejar dicho mensaje- Todo en Smalltalk son objetos incluyendo a las propias clases- El entorno de Smalltalk permite un raacutepido desarrollo de programas- La biblioteca de clases fue disentildeada para ser extendida y adaptada por adicioacutende subclases para satisfacer las necesidades de la aplicacioacuten- La arquitectura ModeloVistaControlador (MVC) es una importante contribucioacutende Smalltalk- Una referencia claacutesica sobre Smalltalk es [Goldberg and Robson 1983]

43 C++

- C++ es un lenguaje hiacutebrido extensioacuten del lenguaje C- Fue desarrollado por Bjarne Stroustrup en los laboratorios ATampT- Las primeras versiones del lenguaje se denominaron C con clasesy datan de 1980- El nombre de C++ se debe a Rick Mascitti quien lo bautizoacute de estamanera en el verano de 1983- C++ fue instalado por primera vez fuera del grupo de investigacioacutendel autor en julio de 1983- En 1987 surge la necesidad de estandarizacioacuten de C++- Dispone de capacidades para la herencia simple y muacuteltiple- Por defecto C++ tiene ligadura estaacutetica- Las funciones definidas como virtuales pueden beneficiarse delconcepto de ligadura dinaacutemica

C++ es estrictamente tipado aunque admite la posibilidad de casting- No cuenta con un recolector de basura- La ausencia de un gestor automaacutetico de memoria por defecto obligaal concepto de destructor- Ocultamiento de la informacioacuten incluso a los descendientes- Cuenta con un mecanismo de acceso especial por parte de una clase ouna funcioacuten que se declare como friend- Soporte de manejo de excepciones- Soporte de genericidad mediante las plantillas- Permite sobrecarga de operadores- Sintaxis oscura y gramaacutetica difiacutecil de analizar- Lenguaje complejo preocupado por la deteccioacuten temprana de erroresy por la eficiencia de la ejecucioacuten perdiendo algo de sencillez y deflexibilidad para el disentildeo- [Stroustrup 1997] es una referencia vaacutelida para este lenguaje

Eiffel

- Eiffel fue desarrollado por Bertrand Meyer- Es un lenguaje orientado al objeto puro- Soporta ligadura dinaacutemica- Tiene comprobacioacuten estricta de tipos- Admite herencia muacuteltiple- Soporta clases parametrizadas- La gestioacuten de memoria la lleva a cabo el entorno de programacioacuten- Eiffel proporciona una biblioteca de clases predefinidas muy completa- Eiffel cuenta con la clase como uacutenico criterio de estructuracioacuten- Una declaracioacuten de clase en Eiffel puede incluir una lista de caracteriacutesticasexportadas una lista de clases predecesoras y una lista de declaraciones decaracteriacutesticas- Cuenta con manejo de excepciones- [Meyer 1992] es una de las referencias obligadas aunque con unas mirasmaacutes amplias se recomienda [Meyer 1997]

-Disentildeo por contrato

bull Precondiciones que deben cumplirse antes de que se invoque un meacutetodobull Postcondiciones que se garantizan han de cumplirse despueacutes de que sehaya ejecutado el meacutetodobull Invariantes condicioacuten que debe cumplir la clase en toda circunstanciaestablebull Un contrato entre el proveedor y el usuario de una clase espera que1048670 El usuario de una clase aseguraraacute que las precondiciones de un meacutetodose cumplan antes de que el meacutetodo se invoque1048670 El proveedor de la clase garantizaraacute que las postcondiciones se cumplandespueacutes que se ha aplicado el meacutetodo

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 12: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

Chequeo de momento

Smalltalk

Dinamico

Rigurosidad

Sin Tipos

CLASIFICACION DE TESLER

Clasificacioacuten de Tesler

Beneficios del uso de lenguajes con tiposestrictosndash Evitan los fallos en tiempo de ejecucioacutenderivados de conflictos con los tiposndash Deteccioacuten temprana en tiempo de compilacioacutende erroresndash Declaracioacuten de tipos como ayuda para ladocumentacioacutenndash Eficiencia en el coacutedigo

Clasificacioacuten de Tesler

Tipificacioacuten o tipado (ldquotypingrdquo) es el proceso dedeclarar cuaacutel es el tipo de informacioacuten que puede

contener una variable

Sistemas de tipos estaacuteticosbull Tambieacuten llamados sistemas contipado fuerte o estrictobull Exigen asociacioacuten expliacutecita de un tipoa cada nombre declaradobull El tipo de cada objeto se ha de determinarcon anterioridad a la ejecucioacuten del programabull Menos flexible pero maacutes segurabull Ejecucioacuten maacutes eficiente al no tener quehacer comprobacioacuten de tipos en tiempo deEjecucioacuten

Sistemas de tipos dinaacutemicosbull Tambieacuten llamados sistemas con tipadodeacutebilno estricto o dinaacutemicobull No exigen asociacioacuten expliacutecita de un tipoa cada variablebull Cada objeto conoce su tipo cuando se creadurante la ejecucioacutenbull Maacutes flexibilidadbull Peacuterdida de eficiencia durante la ejecucioacuten delprograma debida a la necesidad de mantenery comprobar el tipo de todos los objetosdurante la ejecucioacuten

Clasificacioacuten de Tesler

Ligadura es el proceso de asociar un atributo a un nombreEn el caso de las funciones el teacutermino ligadura (binding) serefiere a la conexioacuten o enlace entre una llamada a funcioacuteny el coacutedigo real ejecutado como resultado de la llamada[Joyanes 1998]

Ligadura estaacutetica otemprana

Ligadura dinaacutemica otardiacutea

Clasificacioacuten de Tesler

Ligadura estaacutetica o temprana

ndash Resuelve las correspondencias en tiempo de compilacioacutenndash No hay sobrecarga en tiempo de ejecucioacuten y los fallos se detectanen tiempo de compilacioacutenndash Los enlaces no pueden hacerse sin volver a compilar

bull Ligadura dinaacutemica o tardiacutea

ndash La correspondencia se hace al invocar los meacutetodosndash Soporta la evolucioacuten de los programas sin tener que recompilarndash Coste en tiempo de ejecucioacuten

No hay garantia de interpretacionInterpretacion

flexible SMALLTALK

Garantia de correccion Interpretacion flexibleC++ OBJECT PASCAL

Combinacion No Valida Sin Sentido

GaraniaDe correccionInterpretacion

inflexible

C COBOL

Dinamicos

Estaticos

Comprobacion dinamica

Comprobacion Estatica

Clasificacioacuten de Tesler

Clasificacioacuten seguacuten el

Origen

Lenguajes purosLenguajes Hibridos

Smalltalk Eiffel

C ++ OBJECT PASCAL

Objetos Mensajes

Clases

Objetos Mensajes

Clases

Lenguajes con base tradicional

+

Clasificacioacuten seguacuten elOrigen

Caracteriacutesticas de losLPOO

31 Elementos Concretos

Requisitos Deseablesen los LPOO

Conceptos clarosbull Orientacioacuten al Objetopurabull Seguridadbull Alto nivelbull Modelo de ejecucioacutensimplebull Sintaxis faacutecil de leer

bull Eliminacioacuten de laredundanciabull Pequentildeobull De faacutecil transicioacuten aotros lenguajesbull Soporte para elaseguramiento de lacorreccioacutenbull Entornos agradables

Revisioacuten de algunos delos Principales LPOO

41 SIMULA

El Simula 67 fue considerado como elprimer LPOO

bull Fue disentildeado en 1967 por Ole-Johan Dhaly Kristen Nygaard en el Norwegian

Computing Center en Oslobull El nombre de Simula 67 fue acortado a

Simula en 1986 existiendo un estaacutendar dellenguaje desde 1987 [SIS 1987]

- Primer lenguaje creado con tecnologiacutea de objetos puros- El origen de Smalltalk estaacute alrededor de 1970 en la Universidad de Utahde la mano de Alan Kay- Smalltalk se desarrolla en el Xerox Palo Alto Research Center (PARC)de la mano de Alan Kay Adele Goldberg y Daniel Ingalls- Los conceptos de Smalltalk han influido en el disentildeo de LPOO y en el aspectoy sensacioacuten de los GUI como los de Macintosh o Motif- Smalltalk 72 Smalltalk 74 Smalltalk 76 Smalltalk 78 y Smalltalk 80- SmalltalkV de Digital- Entorno de programacioacuten Lenguaje Smalltalk baacutesico Coleccioacuten de clases y elentorno real de programacioacuten- El estilo del lenguaje se enfatiza la ligadura dinaacutemica y no realiza chequeo detipos- El bloque fundamental es la clase que contiene la descripcioacuten de variables ymeacutetodos- Los meacutetodos contienen el coacutedigo y definen coacutemo responde un objeto a unmensaje

SMALLTALK

- La ejecucioacuten de una rutina de un objeto se denomina en la terminologiacutea deSmalltalk ldquoenviar un mensajerdquo al objeto cuya clase encontraraacute la formaapropiada de manejar dicho mensaje- Todo en Smalltalk son objetos incluyendo a las propias clases- El entorno de Smalltalk permite un raacutepido desarrollo de programas- La biblioteca de clases fue disentildeada para ser extendida y adaptada por adicioacutende subclases para satisfacer las necesidades de la aplicacioacuten- La arquitectura ModeloVistaControlador (MVC) es una importante contribucioacutende Smalltalk- Una referencia claacutesica sobre Smalltalk es [Goldberg and Robson 1983]

43 C++

- C++ es un lenguaje hiacutebrido extensioacuten del lenguaje C- Fue desarrollado por Bjarne Stroustrup en los laboratorios ATampT- Las primeras versiones del lenguaje se denominaron C con clasesy datan de 1980- El nombre de C++ se debe a Rick Mascitti quien lo bautizoacute de estamanera en el verano de 1983- C++ fue instalado por primera vez fuera del grupo de investigacioacutendel autor en julio de 1983- En 1987 surge la necesidad de estandarizacioacuten de C++- Dispone de capacidades para la herencia simple y muacuteltiple- Por defecto C++ tiene ligadura estaacutetica- Las funciones definidas como virtuales pueden beneficiarse delconcepto de ligadura dinaacutemica

C++ es estrictamente tipado aunque admite la posibilidad de casting- No cuenta con un recolector de basura- La ausencia de un gestor automaacutetico de memoria por defecto obligaal concepto de destructor- Ocultamiento de la informacioacuten incluso a los descendientes- Cuenta con un mecanismo de acceso especial por parte de una clase ouna funcioacuten que se declare como friend- Soporte de manejo de excepciones- Soporte de genericidad mediante las plantillas- Permite sobrecarga de operadores- Sintaxis oscura y gramaacutetica difiacutecil de analizar- Lenguaje complejo preocupado por la deteccioacuten temprana de erroresy por la eficiencia de la ejecucioacuten perdiendo algo de sencillez y deflexibilidad para el disentildeo- [Stroustrup 1997] es una referencia vaacutelida para este lenguaje

Eiffel

- Eiffel fue desarrollado por Bertrand Meyer- Es un lenguaje orientado al objeto puro- Soporta ligadura dinaacutemica- Tiene comprobacioacuten estricta de tipos- Admite herencia muacuteltiple- Soporta clases parametrizadas- La gestioacuten de memoria la lleva a cabo el entorno de programacioacuten- Eiffel proporciona una biblioteca de clases predefinidas muy completa- Eiffel cuenta con la clase como uacutenico criterio de estructuracioacuten- Una declaracioacuten de clase en Eiffel puede incluir una lista de caracteriacutesticasexportadas una lista de clases predecesoras y una lista de declaraciones decaracteriacutesticas- Cuenta con manejo de excepciones- [Meyer 1992] es una de las referencias obligadas aunque con unas mirasmaacutes amplias se recomienda [Meyer 1997]

-Disentildeo por contrato

bull Precondiciones que deben cumplirse antes de que se invoque un meacutetodobull Postcondiciones que se garantizan han de cumplirse despueacutes de que sehaya ejecutado el meacutetodobull Invariantes condicioacuten que debe cumplir la clase en toda circunstanciaestablebull Un contrato entre el proveedor y el usuario de una clase espera que1048670 El usuario de una clase aseguraraacute que las precondiciones de un meacutetodose cumplan antes de que el meacutetodo se invoque1048670 El proveedor de la clase garantizaraacute que las postcondiciones se cumplandespueacutes que se ha aplicado el meacutetodo

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 13: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

Clasificacioacuten de Tesler

Beneficios del uso de lenguajes con tiposestrictosndash Evitan los fallos en tiempo de ejecucioacutenderivados de conflictos con los tiposndash Deteccioacuten temprana en tiempo de compilacioacutende erroresndash Declaracioacuten de tipos como ayuda para ladocumentacioacutenndash Eficiencia en el coacutedigo

Clasificacioacuten de Tesler

Tipificacioacuten o tipado (ldquotypingrdquo) es el proceso dedeclarar cuaacutel es el tipo de informacioacuten que puede

contener una variable

Sistemas de tipos estaacuteticosbull Tambieacuten llamados sistemas contipado fuerte o estrictobull Exigen asociacioacuten expliacutecita de un tipoa cada nombre declaradobull El tipo de cada objeto se ha de determinarcon anterioridad a la ejecucioacuten del programabull Menos flexible pero maacutes segurabull Ejecucioacuten maacutes eficiente al no tener quehacer comprobacioacuten de tipos en tiempo deEjecucioacuten

Sistemas de tipos dinaacutemicosbull Tambieacuten llamados sistemas con tipadodeacutebilno estricto o dinaacutemicobull No exigen asociacioacuten expliacutecita de un tipoa cada variablebull Cada objeto conoce su tipo cuando se creadurante la ejecucioacutenbull Maacutes flexibilidadbull Peacuterdida de eficiencia durante la ejecucioacuten delprograma debida a la necesidad de mantenery comprobar el tipo de todos los objetosdurante la ejecucioacuten

Clasificacioacuten de Tesler

Ligadura es el proceso de asociar un atributo a un nombreEn el caso de las funciones el teacutermino ligadura (binding) serefiere a la conexioacuten o enlace entre una llamada a funcioacuteny el coacutedigo real ejecutado como resultado de la llamada[Joyanes 1998]

Ligadura estaacutetica otemprana

Ligadura dinaacutemica otardiacutea

Clasificacioacuten de Tesler

Ligadura estaacutetica o temprana

ndash Resuelve las correspondencias en tiempo de compilacioacutenndash No hay sobrecarga en tiempo de ejecucioacuten y los fallos se detectanen tiempo de compilacioacutenndash Los enlaces no pueden hacerse sin volver a compilar

bull Ligadura dinaacutemica o tardiacutea

ndash La correspondencia se hace al invocar los meacutetodosndash Soporta la evolucioacuten de los programas sin tener que recompilarndash Coste en tiempo de ejecucioacuten

No hay garantia de interpretacionInterpretacion

flexible SMALLTALK

Garantia de correccion Interpretacion flexibleC++ OBJECT PASCAL

Combinacion No Valida Sin Sentido

GaraniaDe correccionInterpretacion

inflexible

C COBOL

Dinamicos

Estaticos

Comprobacion dinamica

Comprobacion Estatica

Clasificacioacuten de Tesler

Clasificacioacuten seguacuten el

Origen

Lenguajes purosLenguajes Hibridos

Smalltalk Eiffel

C ++ OBJECT PASCAL

Objetos Mensajes

Clases

Objetos Mensajes

Clases

Lenguajes con base tradicional

+

Clasificacioacuten seguacuten elOrigen

Caracteriacutesticas de losLPOO

31 Elementos Concretos

Requisitos Deseablesen los LPOO

Conceptos clarosbull Orientacioacuten al Objetopurabull Seguridadbull Alto nivelbull Modelo de ejecucioacutensimplebull Sintaxis faacutecil de leer

bull Eliminacioacuten de laredundanciabull Pequentildeobull De faacutecil transicioacuten aotros lenguajesbull Soporte para elaseguramiento de lacorreccioacutenbull Entornos agradables

Revisioacuten de algunos delos Principales LPOO

41 SIMULA

El Simula 67 fue considerado como elprimer LPOO

bull Fue disentildeado en 1967 por Ole-Johan Dhaly Kristen Nygaard en el Norwegian

Computing Center en Oslobull El nombre de Simula 67 fue acortado a

Simula en 1986 existiendo un estaacutendar dellenguaje desde 1987 [SIS 1987]

- Primer lenguaje creado con tecnologiacutea de objetos puros- El origen de Smalltalk estaacute alrededor de 1970 en la Universidad de Utahde la mano de Alan Kay- Smalltalk se desarrolla en el Xerox Palo Alto Research Center (PARC)de la mano de Alan Kay Adele Goldberg y Daniel Ingalls- Los conceptos de Smalltalk han influido en el disentildeo de LPOO y en el aspectoy sensacioacuten de los GUI como los de Macintosh o Motif- Smalltalk 72 Smalltalk 74 Smalltalk 76 Smalltalk 78 y Smalltalk 80- SmalltalkV de Digital- Entorno de programacioacuten Lenguaje Smalltalk baacutesico Coleccioacuten de clases y elentorno real de programacioacuten- El estilo del lenguaje se enfatiza la ligadura dinaacutemica y no realiza chequeo detipos- El bloque fundamental es la clase que contiene la descripcioacuten de variables ymeacutetodos- Los meacutetodos contienen el coacutedigo y definen coacutemo responde un objeto a unmensaje

SMALLTALK

- La ejecucioacuten de una rutina de un objeto se denomina en la terminologiacutea deSmalltalk ldquoenviar un mensajerdquo al objeto cuya clase encontraraacute la formaapropiada de manejar dicho mensaje- Todo en Smalltalk son objetos incluyendo a las propias clases- El entorno de Smalltalk permite un raacutepido desarrollo de programas- La biblioteca de clases fue disentildeada para ser extendida y adaptada por adicioacutende subclases para satisfacer las necesidades de la aplicacioacuten- La arquitectura ModeloVistaControlador (MVC) es una importante contribucioacutende Smalltalk- Una referencia claacutesica sobre Smalltalk es [Goldberg and Robson 1983]

43 C++

- C++ es un lenguaje hiacutebrido extensioacuten del lenguaje C- Fue desarrollado por Bjarne Stroustrup en los laboratorios ATampT- Las primeras versiones del lenguaje se denominaron C con clasesy datan de 1980- El nombre de C++ se debe a Rick Mascitti quien lo bautizoacute de estamanera en el verano de 1983- C++ fue instalado por primera vez fuera del grupo de investigacioacutendel autor en julio de 1983- En 1987 surge la necesidad de estandarizacioacuten de C++- Dispone de capacidades para la herencia simple y muacuteltiple- Por defecto C++ tiene ligadura estaacutetica- Las funciones definidas como virtuales pueden beneficiarse delconcepto de ligadura dinaacutemica

C++ es estrictamente tipado aunque admite la posibilidad de casting- No cuenta con un recolector de basura- La ausencia de un gestor automaacutetico de memoria por defecto obligaal concepto de destructor- Ocultamiento de la informacioacuten incluso a los descendientes- Cuenta con un mecanismo de acceso especial por parte de una clase ouna funcioacuten que se declare como friend- Soporte de manejo de excepciones- Soporte de genericidad mediante las plantillas- Permite sobrecarga de operadores- Sintaxis oscura y gramaacutetica difiacutecil de analizar- Lenguaje complejo preocupado por la deteccioacuten temprana de erroresy por la eficiencia de la ejecucioacuten perdiendo algo de sencillez y deflexibilidad para el disentildeo- [Stroustrup 1997] es una referencia vaacutelida para este lenguaje

Eiffel

- Eiffel fue desarrollado por Bertrand Meyer- Es un lenguaje orientado al objeto puro- Soporta ligadura dinaacutemica- Tiene comprobacioacuten estricta de tipos- Admite herencia muacuteltiple- Soporta clases parametrizadas- La gestioacuten de memoria la lleva a cabo el entorno de programacioacuten- Eiffel proporciona una biblioteca de clases predefinidas muy completa- Eiffel cuenta con la clase como uacutenico criterio de estructuracioacuten- Una declaracioacuten de clase en Eiffel puede incluir una lista de caracteriacutesticasexportadas una lista de clases predecesoras y una lista de declaraciones decaracteriacutesticas- Cuenta con manejo de excepciones- [Meyer 1992] es una de las referencias obligadas aunque con unas mirasmaacutes amplias se recomienda [Meyer 1997]

-Disentildeo por contrato

bull Precondiciones que deben cumplirse antes de que se invoque un meacutetodobull Postcondiciones que se garantizan han de cumplirse despueacutes de que sehaya ejecutado el meacutetodobull Invariantes condicioacuten que debe cumplir la clase en toda circunstanciaestablebull Un contrato entre el proveedor y el usuario de una clase espera que1048670 El usuario de una clase aseguraraacute que las precondiciones de un meacutetodose cumplan antes de que el meacutetodo se invoque1048670 El proveedor de la clase garantizaraacute que las postcondiciones se cumplandespueacutes que se ha aplicado el meacutetodo

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 14: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

Clasificacioacuten de Tesler

Tipificacioacuten o tipado (ldquotypingrdquo) es el proceso dedeclarar cuaacutel es el tipo de informacioacuten que puede

contener una variable

Sistemas de tipos estaacuteticosbull Tambieacuten llamados sistemas contipado fuerte o estrictobull Exigen asociacioacuten expliacutecita de un tipoa cada nombre declaradobull El tipo de cada objeto se ha de determinarcon anterioridad a la ejecucioacuten del programabull Menos flexible pero maacutes segurabull Ejecucioacuten maacutes eficiente al no tener quehacer comprobacioacuten de tipos en tiempo deEjecucioacuten

Sistemas de tipos dinaacutemicosbull Tambieacuten llamados sistemas con tipadodeacutebilno estricto o dinaacutemicobull No exigen asociacioacuten expliacutecita de un tipoa cada variablebull Cada objeto conoce su tipo cuando se creadurante la ejecucioacutenbull Maacutes flexibilidadbull Peacuterdida de eficiencia durante la ejecucioacuten delprograma debida a la necesidad de mantenery comprobar el tipo de todos los objetosdurante la ejecucioacuten

Clasificacioacuten de Tesler

Ligadura es el proceso de asociar un atributo a un nombreEn el caso de las funciones el teacutermino ligadura (binding) serefiere a la conexioacuten o enlace entre una llamada a funcioacuteny el coacutedigo real ejecutado como resultado de la llamada[Joyanes 1998]

Ligadura estaacutetica otemprana

Ligadura dinaacutemica otardiacutea

Clasificacioacuten de Tesler

Ligadura estaacutetica o temprana

ndash Resuelve las correspondencias en tiempo de compilacioacutenndash No hay sobrecarga en tiempo de ejecucioacuten y los fallos se detectanen tiempo de compilacioacutenndash Los enlaces no pueden hacerse sin volver a compilar

bull Ligadura dinaacutemica o tardiacutea

ndash La correspondencia se hace al invocar los meacutetodosndash Soporta la evolucioacuten de los programas sin tener que recompilarndash Coste en tiempo de ejecucioacuten

No hay garantia de interpretacionInterpretacion

flexible SMALLTALK

Garantia de correccion Interpretacion flexibleC++ OBJECT PASCAL

Combinacion No Valida Sin Sentido

GaraniaDe correccionInterpretacion

inflexible

C COBOL

Dinamicos

Estaticos

Comprobacion dinamica

Comprobacion Estatica

Clasificacioacuten de Tesler

Clasificacioacuten seguacuten el

Origen

Lenguajes purosLenguajes Hibridos

Smalltalk Eiffel

C ++ OBJECT PASCAL

Objetos Mensajes

Clases

Objetos Mensajes

Clases

Lenguajes con base tradicional

+

Clasificacioacuten seguacuten elOrigen

Caracteriacutesticas de losLPOO

31 Elementos Concretos

Requisitos Deseablesen los LPOO

Conceptos clarosbull Orientacioacuten al Objetopurabull Seguridadbull Alto nivelbull Modelo de ejecucioacutensimplebull Sintaxis faacutecil de leer

bull Eliminacioacuten de laredundanciabull Pequentildeobull De faacutecil transicioacuten aotros lenguajesbull Soporte para elaseguramiento de lacorreccioacutenbull Entornos agradables

Revisioacuten de algunos delos Principales LPOO

41 SIMULA

El Simula 67 fue considerado como elprimer LPOO

bull Fue disentildeado en 1967 por Ole-Johan Dhaly Kristen Nygaard en el Norwegian

Computing Center en Oslobull El nombre de Simula 67 fue acortado a

Simula en 1986 existiendo un estaacutendar dellenguaje desde 1987 [SIS 1987]

- Primer lenguaje creado con tecnologiacutea de objetos puros- El origen de Smalltalk estaacute alrededor de 1970 en la Universidad de Utahde la mano de Alan Kay- Smalltalk se desarrolla en el Xerox Palo Alto Research Center (PARC)de la mano de Alan Kay Adele Goldberg y Daniel Ingalls- Los conceptos de Smalltalk han influido en el disentildeo de LPOO y en el aspectoy sensacioacuten de los GUI como los de Macintosh o Motif- Smalltalk 72 Smalltalk 74 Smalltalk 76 Smalltalk 78 y Smalltalk 80- SmalltalkV de Digital- Entorno de programacioacuten Lenguaje Smalltalk baacutesico Coleccioacuten de clases y elentorno real de programacioacuten- El estilo del lenguaje se enfatiza la ligadura dinaacutemica y no realiza chequeo detipos- El bloque fundamental es la clase que contiene la descripcioacuten de variables ymeacutetodos- Los meacutetodos contienen el coacutedigo y definen coacutemo responde un objeto a unmensaje

SMALLTALK

- La ejecucioacuten de una rutina de un objeto se denomina en la terminologiacutea deSmalltalk ldquoenviar un mensajerdquo al objeto cuya clase encontraraacute la formaapropiada de manejar dicho mensaje- Todo en Smalltalk son objetos incluyendo a las propias clases- El entorno de Smalltalk permite un raacutepido desarrollo de programas- La biblioteca de clases fue disentildeada para ser extendida y adaptada por adicioacutende subclases para satisfacer las necesidades de la aplicacioacuten- La arquitectura ModeloVistaControlador (MVC) es una importante contribucioacutende Smalltalk- Una referencia claacutesica sobre Smalltalk es [Goldberg and Robson 1983]

43 C++

- C++ es un lenguaje hiacutebrido extensioacuten del lenguaje C- Fue desarrollado por Bjarne Stroustrup en los laboratorios ATampT- Las primeras versiones del lenguaje se denominaron C con clasesy datan de 1980- El nombre de C++ se debe a Rick Mascitti quien lo bautizoacute de estamanera en el verano de 1983- C++ fue instalado por primera vez fuera del grupo de investigacioacutendel autor en julio de 1983- En 1987 surge la necesidad de estandarizacioacuten de C++- Dispone de capacidades para la herencia simple y muacuteltiple- Por defecto C++ tiene ligadura estaacutetica- Las funciones definidas como virtuales pueden beneficiarse delconcepto de ligadura dinaacutemica

C++ es estrictamente tipado aunque admite la posibilidad de casting- No cuenta con un recolector de basura- La ausencia de un gestor automaacutetico de memoria por defecto obligaal concepto de destructor- Ocultamiento de la informacioacuten incluso a los descendientes- Cuenta con un mecanismo de acceso especial por parte de una clase ouna funcioacuten que se declare como friend- Soporte de manejo de excepciones- Soporte de genericidad mediante las plantillas- Permite sobrecarga de operadores- Sintaxis oscura y gramaacutetica difiacutecil de analizar- Lenguaje complejo preocupado por la deteccioacuten temprana de erroresy por la eficiencia de la ejecucioacuten perdiendo algo de sencillez y deflexibilidad para el disentildeo- [Stroustrup 1997] es una referencia vaacutelida para este lenguaje

Eiffel

- Eiffel fue desarrollado por Bertrand Meyer- Es un lenguaje orientado al objeto puro- Soporta ligadura dinaacutemica- Tiene comprobacioacuten estricta de tipos- Admite herencia muacuteltiple- Soporta clases parametrizadas- La gestioacuten de memoria la lleva a cabo el entorno de programacioacuten- Eiffel proporciona una biblioteca de clases predefinidas muy completa- Eiffel cuenta con la clase como uacutenico criterio de estructuracioacuten- Una declaracioacuten de clase en Eiffel puede incluir una lista de caracteriacutesticasexportadas una lista de clases predecesoras y una lista de declaraciones decaracteriacutesticas- Cuenta con manejo de excepciones- [Meyer 1992] es una de las referencias obligadas aunque con unas mirasmaacutes amplias se recomienda [Meyer 1997]

-Disentildeo por contrato

bull Precondiciones que deben cumplirse antes de que se invoque un meacutetodobull Postcondiciones que se garantizan han de cumplirse despueacutes de que sehaya ejecutado el meacutetodobull Invariantes condicioacuten que debe cumplir la clase en toda circunstanciaestablebull Un contrato entre el proveedor y el usuario de una clase espera que1048670 El usuario de una clase aseguraraacute que las precondiciones de un meacutetodose cumplan antes de que el meacutetodo se invoque1048670 El proveedor de la clase garantizaraacute que las postcondiciones se cumplandespueacutes que se ha aplicado el meacutetodo

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 15: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

Clasificacioacuten de Tesler

Ligadura es el proceso de asociar un atributo a un nombreEn el caso de las funciones el teacutermino ligadura (binding) serefiere a la conexioacuten o enlace entre una llamada a funcioacuteny el coacutedigo real ejecutado como resultado de la llamada[Joyanes 1998]

Ligadura estaacutetica otemprana

Ligadura dinaacutemica otardiacutea

Clasificacioacuten de Tesler

Ligadura estaacutetica o temprana

ndash Resuelve las correspondencias en tiempo de compilacioacutenndash No hay sobrecarga en tiempo de ejecucioacuten y los fallos se detectanen tiempo de compilacioacutenndash Los enlaces no pueden hacerse sin volver a compilar

bull Ligadura dinaacutemica o tardiacutea

ndash La correspondencia se hace al invocar los meacutetodosndash Soporta la evolucioacuten de los programas sin tener que recompilarndash Coste en tiempo de ejecucioacuten

No hay garantia de interpretacionInterpretacion

flexible SMALLTALK

Garantia de correccion Interpretacion flexibleC++ OBJECT PASCAL

Combinacion No Valida Sin Sentido

GaraniaDe correccionInterpretacion

inflexible

C COBOL

Dinamicos

Estaticos

Comprobacion dinamica

Comprobacion Estatica

Clasificacioacuten de Tesler

Clasificacioacuten seguacuten el

Origen

Lenguajes purosLenguajes Hibridos

Smalltalk Eiffel

C ++ OBJECT PASCAL

Objetos Mensajes

Clases

Objetos Mensajes

Clases

Lenguajes con base tradicional

+

Clasificacioacuten seguacuten elOrigen

Caracteriacutesticas de losLPOO

31 Elementos Concretos

Requisitos Deseablesen los LPOO

Conceptos clarosbull Orientacioacuten al Objetopurabull Seguridadbull Alto nivelbull Modelo de ejecucioacutensimplebull Sintaxis faacutecil de leer

bull Eliminacioacuten de laredundanciabull Pequentildeobull De faacutecil transicioacuten aotros lenguajesbull Soporte para elaseguramiento de lacorreccioacutenbull Entornos agradables

Revisioacuten de algunos delos Principales LPOO

41 SIMULA

El Simula 67 fue considerado como elprimer LPOO

bull Fue disentildeado en 1967 por Ole-Johan Dhaly Kristen Nygaard en el Norwegian

Computing Center en Oslobull El nombre de Simula 67 fue acortado a

Simula en 1986 existiendo un estaacutendar dellenguaje desde 1987 [SIS 1987]

- Primer lenguaje creado con tecnologiacutea de objetos puros- El origen de Smalltalk estaacute alrededor de 1970 en la Universidad de Utahde la mano de Alan Kay- Smalltalk se desarrolla en el Xerox Palo Alto Research Center (PARC)de la mano de Alan Kay Adele Goldberg y Daniel Ingalls- Los conceptos de Smalltalk han influido en el disentildeo de LPOO y en el aspectoy sensacioacuten de los GUI como los de Macintosh o Motif- Smalltalk 72 Smalltalk 74 Smalltalk 76 Smalltalk 78 y Smalltalk 80- SmalltalkV de Digital- Entorno de programacioacuten Lenguaje Smalltalk baacutesico Coleccioacuten de clases y elentorno real de programacioacuten- El estilo del lenguaje se enfatiza la ligadura dinaacutemica y no realiza chequeo detipos- El bloque fundamental es la clase que contiene la descripcioacuten de variables ymeacutetodos- Los meacutetodos contienen el coacutedigo y definen coacutemo responde un objeto a unmensaje

SMALLTALK

- La ejecucioacuten de una rutina de un objeto se denomina en la terminologiacutea deSmalltalk ldquoenviar un mensajerdquo al objeto cuya clase encontraraacute la formaapropiada de manejar dicho mensaje- Todo en Smalltalk son objetos incluyendo a las propias clases- El entorno de Smalltalk permite un raacutepido desarrollo de programas- La biblioteca de clases fue disentildeada para ser extendida y adaptada por adicioacutende subclases para satisfacer las necesidades de la aplicacioacuten- La arquitectura ModeloVistaControlador (MVC) es una importante contribucioacutende Smalltalk- Una referencia claacutesica sobre Smalltalk es [Goldberg and Robson 1983]

43 C++

- C++ es un lenguaje hiacutebrido extensioacuten del lenguaje C- Fue desarrollado por Bjarne Stroustrup en los laboratorios ATampT- Las primeras versiones del lenguaje se denominaron C con clasesy datan de 1980- El nombre de C++ se debe a Rick Mascitti quien lo bautizoacute de estamanera en el verano de 1983- C++ fue instalado por primera vez fuera del grupo de investigacioacutendel autor en julio de 1983- En 1987 surge la necesidad de estandarizacioacuten de C++- Dispone de capacidades para la herencia simple y muacuteltiple- Por defecto C++ tiene ligadura estaacutetica- Las funciones definidas como virtuales pueden beneficiarse delconcepto de ligadura dinaacutemica

C++ es estrictamente tipado aunque admite la posibilidad de casting- No cuenta con un recolector de basura- La ausencia de un gestor automaacutetico de memoria por defecto obligaal concepto de destructor- Ocultamiento de la informacioacuten incluso a los descendientes- Cuenta con un mecanismo de acceso especial por parte de una clase ouna funcioacuten que se declare como friend- Soporte de manejo de excepciones- Soporte de genericidad mediante las plantillas- Permite sobrecarga de operadores- Sintaxis oscura y gramaacutetica difiacutecil de analizar- Lenguaje complejo preocupado por la deteccioacuten temprana de erroresy por la eficiencia de la ejecucioacuten perdiendo algo de sencillez y deflexibilidad para el disentildeo- [Stroustrup 1997] es una referencia vaacutelida para este lenguaje

Eiffel

- Eiffel fue desarrollado por Bertrand Meyer- Es un lenguaje orientado al objeto puro- Soporta ligadura dinaacutemica- Tiene comprobacioacuten estricta de tipos- Admite herencia muacuteltiple- Soporta clases parametrizadas- La gestioacuten de memoria la lleva a cabo el entorno de programacioacuten- Eiffel proporciona una biblioteca de clases predefinidas muy completa- Eiffel cuenta con la clase como uacutenico criterio de estructuracioacuten- Una declaracioacuten de clase en Eiffel puede incluir una lista de caracteriacutesticasexportadas una lista de clases predecesoras y una lista de declaraciones decaracteriacutesticas- Cuenta con manejo de excepciones- [Meyer 1992] es una de las referencias obligadas aunque con unas mirasmaacutes amplias se recomienda [Meyer 1997]

-Disentildeo por contrato

bull Precondiciones que deben cumplirse antes de que se invoque un meacutetodobull Postcondiciones que se garantizan han de cumplirse despueacutes de que sehaya ejecutado el meacutetodobull Invariantes condicioacuten que debe cumplir la clase en toda circunstanciaestablebull Un contrato entre el proveedor y el usuario de una clase espera que1048670 El usuario de una clase aseguraraacute que las precondiciones de un meacutetodose cumplan antes de que el meacutetodo se invoque1048670 El proveedor de la clase garantizaraacute que las postcondiciones se cumplandespueacutes que se ha aplicado el meacutetodo

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 16: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

Clasificacioacuten de Tesler

Ligadura estaacutetica o temprana

ndash Resuelve las correspondencias en tiempo de compilacioacutenndash No hay sobrecarga en tiempo de ejecucioacuten y los fallos se detectanen tiempo de compilacioacutenndash Los enlaces no pueden hacerse sin volver a compilar

bull Ligadura dinaacutemica o tardiacutea

ndash La correspondencia se hace al invocar los meacutetodosndash Soporta la evolucioacuten de los programas sin tener que recompilarndash Coste en tiempo de ejecucioacuten

No hay garantia de interpretacionInterpretacion

flexible SMALLTALK

Garantia de correccion Interpretacion flexibleC++ OBJECT PASCAL

Combinacion No Valida Sin Sentido

GaraniaDe correccionInterpretacion

inflexible

C COBOL

Dinamicos

Estaticos

Comprobacion dinamica

Comprobacion Estatica

Clasificacioacuten de Tesler

Clasificacioacuten seguacuten el

Origen

Lenguajes purosLenguajes Hibridos

Smalltalk Eiffel

C ++ OBJECT PASCAL

Objetos Mensajes

Clases

Objetos Mensajes

Clases

Lenguajes con base tradicional

+

Clasificacioacuten seguacuten elOrigen

Caracteriacutesticas de losLPOO

31 Elementos Concretos

Requisitos Deseablesen los LPOO

Conceptos clarosbull Orientacioacuten al Objetopurabull Seguridadbull Alto nivelbull Modelo de ejecucioacutensimplebull Sintaxis faacutecil de leer

bull Eliminacioacuten de laredundanciabull Pequentildeobull De faacutecil transicioacuten aotros lenguajesbull Soporte para elaseguramiento de lacorreccioacutenbull Entornos agradables

Revisioacuten de algunos delos Principales LPOO

41 SIMULA

El Simula 67 fue considerado como elprimer LPOO

bull Fue disentildeado en 1967 por Ole-Johan Dhaly Kristen Nygaard en el Norwegian

Computing Center en Oslobull El nombre de Simula 67 fue acortado a

Simula en 1986 existiendo un estaacutendar dellenguaje desde 1987 [SIS 1987]

- Primer lenguaje creado con tecnologiacutea de objetos puros- El origen de Smalltalk estaacute alrededor de 1970 en la Universidad de Utahde la mano de Alan Kay- Smalltalk se desarrolla en el Xerox Palo Alto Research Center (PARC)de la mano de Alan Kay Adele Goldberg y Daniel Ingalls- Los conceptos de Smalltalk han influido en el disentildeo de LPOO y en el aspectoy sensacioacuten de los GUI como los de Macintosh o Motif- Smalltalk 72 Smalltalk 74 Smalltalk 76 Smalltalk 78 y Smalltalk 80- SmalltalkV de Digital- Entorno de programacioacuten Lenguaje Smalltalk baacutesico Coleccioacuten de clases y elentorno real de programacioacuten- El estilo del lenguaje se enfatiza la ligadura dinaacutemica y no realiza chequeo detipos- El bloque fundamental es la clase que contiene la descripcioacuten de variables ymeacutetodos- Los meacutetodos contienen el coacutedigo y definen coacutemo responde un objeto a unmensaje

SMALLTALK

- La ejecucioacuten de una rutina de un objeto se denomina en la terminologiacutea deSmalltalk ldquoenviar un mensajerdquo al objeto cuya clase encontraraacute la formaapropiada de manejar dicho mensaje- Todo en Smalltalk son objetos incluyendo a las propias clases- El entorno de Smalltalk permite un raacutepido desarrollo de programas- La biblioteca de clases fue disentildeada para ser extendida y adaptada por adicioacutende subclases para satisfacer las necesidades de la aplicacioacuten- La arquitectura ModeloVistaControlador (MVC) es una importante contribucioacutende Smalltalk- Una referencia claacutesica sobre Smalltalk es [Goldberg and Robson 1983]

43 C++

- C++ es un lenguaje hiacutebrido extensioacuten del lenguaje C- Fue desarrollado por Bjarne Stroustrup en los laboratorios ATampT- Las primeras versiones del lenguaje se denominaron C con clasesy datan de 1980- El nombre de C++ se debe a Rick Mascitti quien lo bautizoacute de estamanera en el verano de 1983- C++ fue instalado por primera vez fuera del grupo de investigacioacutendel autor en julio de 1983- En 1987 surge la necesidad de estandarizacioacuten de C++- Dispone de capacidades para la herencia simple y muacuteltiple- Por defecto C++ tiene ligadura estaacutetica- Las funciones definidas como virtuales pueden beneficiarse delconcepto de ligadura dinaacutemica

C++ es estrictamente tipado aunque admite la posibilidad de casting- No cuenta con un recolector de basura- La ausencia de un gestor automaacutetico de memoria por defecto obligaal concepto de destructor- Ocultamiento de la informacioacuten incluso a los descendientes- Cuenta con un mecanismo de acceso especial por parte de una clase ouna funcioacuten que se declare como friend- Soporte de manejo de excepciones- Soporte de genericidad mediante las plantillas- Permite sobrecarga de operadores- Sintaxis oscura y gramaacutetica difiacutecil de analizar- Lenguaje complejo preocupado por la deteccioacuten temprana de erroresy por la eficiencia de la ejecucioacuten perdiendo algo de sencillez y deflexibilidad para el disentildeo- [Stroustrup 1997] es una referencia vaacutelida para este lenguaje

Eiffel

- Eiffel fue desarrollado por Bertrand Meyer- Es un lenguaje orientado al objeto puro- Soporta ligadura dinaacutemica- Tiene comprobacioacuten estricta de tipos- Admite herencia muacuteltiple- Soporta clases parametrizadas- La gestioacuten de memoria la lleva a cabo el entorno de programacioacuten- Eiffel proporciona una biblioteca de clases predefinidas muy completa- Eiffel cuenta con la clase como uacutenico criterio de estructuracioacuten- Una declaracioacuten de clase en Eiffel puede incluir una lista de caracteriacutesticasexportadas una lista de clases predecesoras y una lista de declaraciones decaracteriacutesticas- Cuenta con manejo de excepciones- [Meyer 1992] es una de las referencias obligadas aunque con unas mirasmaacutes amplias se recomienda [Meyer 1997]

-Disentildeo por contrato

bull Precondiciones que deben cumplirse antes de que se invoque un meacutetodobull Postcondiciones que se garantizan han de cumplirse despueacutes de que sehaya ejecutado el meacutetodobull Invariantes condicioacuten que debe cumplir la clase en toda circunstanciaestablebull Un contrato entre el proveedor y el usuario de una clase espera que1048670 El usuario de una clase aseguraraacute que las precondiciones de un meacutetodose cumplan antes de que el meacutetodo se invoque1048670 El proveedor de la clase garantizaraacute que las postcondiciones se cumplandespueacutes que se ha aplicado el meacutetodo

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 17: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

No hay garantia de interpretacionInterpretacion

flexible SMALLTALK

Garantia de correccion Interpretacion flexibleC++ OBJECT PASCAL

Combinacion No Valida Sin Sentido

GaraniaDe correccionInterpretacion

inflexible

C COBOL

Dinamicos

Estaticos

Comprobacion dinamica

Comprobacion Estatica

Clasificacioacuten de Tesler

Clasificacioacuten seguacuten el

Origen

Lenguajes purosLenguajes Hibridos

Smalltalk Eiffel

C ++ OBJECT PASCAL

Objetos Mensajes

Clases

Objetos Mensajes

Clases

Lenguajes con base tradicional

+

Clasificacioacuten seguacuten elOrigen

Caracteriacutesticas de losLPOO

31 Elementos Concretos

Requisitos Deseablesen los LPOO

Conceptos clarosbull Orientacioacuten al Objetopurabull Seguridadbull Alto nivelbull Modelo de ejecucioacutensimplebull Sintaxis faacutecil de leer

bull Eliminacioacuten de laredundanciabull Pequentildeobull De faacutecil transicioacuten aotros lenguajesbull Soporte para elaseguramiento de lacorreccioacutenbull Entornos agradables

Revisioacuten de algunos delos Principales LPOO

41 SIMULA

El Simula 67 fue considerado como elprimer LPOO

bull Fue disentildeado en 1967 por Ole-Johan Dhaly Kristen Nygaard en el Norwegian

Computing Center en Oslobull El nombre de Simula 67 fue acortado a

Simula en 1986 existiendo un estaacutendar dellenguaje desde 1987 [SIS 1987]

- Primer lenguaje creado con tecnologiacutea de objetos puros- El origen de Smalltalk estaacute alrededor de 1970 en la Universidad de Utahde la mano de Alan Kay- Smalltalk se desarrolla en el Xerox Palo Alto Research Center (PARC)de la mano de Alan Kay Adele Goldberg y Daniel Ingalls- Los conceptos de Smalltalk han influido en el disentildeo de LPOO y en el aspectoy sensacioacuten de los GUI como los de Macintosh o Motif- Smalltalk 72 Smalltalk 74 Smalltalk 76 Smalltalk 78 y Smalltalk 80- SmalltalkV de Digital- Entorno de programacioacuten Lenguaje Smalltalk baacutesico Coleccioacuten de clases y elentorno real de programacioacuten- El estilo del lenguaje se enfatiza la ligadura dinaacutemica y no realiza chequeo detipos- El bloque fundamental es la clase que contiene la descripcioacuten de variables ymeacutetodos- Los meacutetodos contienen el coacutedigo y definen coacutemo responde un objeto a unmensaje

SMALLTALK

- La ejecucioacuten de una rutina de un objeto se denomina en la terminologiacutea deSmalltalk ldquoenviar un mensajerdquo al objeto cuya clase encontraraacute la formaapropiada de manejar dicho mensaje- Todo en Smalltalk son objetos incluyendo a las propias clases- El entorno de Smalltalk permite un raacutepido desarrollo de programas- La biblioteca de clases fue disentildeada para ser extendida y adaptada por adicioacutende subclases para satisfacer las necesidades de la aplicacioacuten- La arquitectura ModeloVistaControlador (MVC) es una importante contribucioacutende Smalltalk- Una referencia claacutesica sobre Smalltalk es [Goldberg and Robson 1983]

43 C++

- C++ es un lenguaje hiacutebrido extensioacuten del lenguaje C- Fue desarrollado por Bjarne Stroustrup en los laboratorios ATampT- Las primeras versiones del lenguaje se denominaron C con clasesy datan de 1980- El nombre de C++ se debe a Rick Mascitti quien lo bautizoacute de estamanera en el verano de 1983- C++ fue instalado por primera vez fuera del grupo de investigacioacutendel autor en julio de 1983- En 1987 surge la necesidad de estandarizacioacuten de C++- Dispone de capacidades para la herencia simple y muacuteltiple- Por defecto C++ tiene ligadura estaacutetica- Las funciones definidas como virtuales pueden beneficiarse delconcepto de ligadura dinaacutemica

C++ es estrictamente tipado aunque admite la posibilidad de casting- No cuenta con un recolector de basura- La ausencia de un gestor automaacutetico de memoria por defecto obligaal concepto de destructor- Ocultamiento de la informacioacuten incluso a los descendientes- Cuenta con un mecanismo de acceso especial por parte de una clase ouna funcioacuten que se declare como friend- Soporte de manejo de excepciones- Soporte de genericidad mediante las plantillas- Permite sobrecarga de operadores- Sintaxis oscura y gramaacutetica difiacutecil de analizar- Lenguaje complejo preocupado por la deteccioacuten temprana de erroresy por la eficiencia de la ejecucioacuten perdiendo algo de sencillez y deflexibilidad para el disentildeo- [Stroustrup 1997] es una referencia vaacutelida para este lenguaje

Eiffel

- Eiffel fue desarrollado por Bertrand Meyer- Es un lenguaje orientado al objeto puro- Soporta ligadura dinaacutemica- Tiene comprobacioacuten estricta de tipos- Admite herencia muacuteltiple- Soporta clases parametrizadas- La gestioacuten de memoria la lleva a cabo el entorno de programacioacuten- Eiffel proporciona una biblioteca de clases predefinidas muy completa- Eiffel cuenta con la clase como uacutenico criterio de estructuracioacuten- Una declaracioacuten de clase en Eiffel puede incluir una lista de caracteriacutesticasexportadas una lista de clases predecesoras y una lista de declaraciones decaracteriacutesticas- Cuenta con manejo de excepciones- [Meyer 1992] es una de las referencias obligadas aunque con unas mirasmaacutes amplias se recomienda [Meyer 1997]

-Disentildeo por contrato

bull Precondiciones que deben cumplirse antes de que se invoque un meacutetodobull Postcondiciones que se garantizan han de cumplirse despueacutes de que sehaya ejecutado el meacutetodobull Invariantes condicioacuten que debe cumplir la clase en toda circunstanciaestablebull Un contrato entre el proveedor y el usuario de una clase espera que1048670 El usuario de una clase aseguraraacute que las precondiciones de un meacutetodose cumplan antes de que el meacutetodo se invoque1048670 El proveedor de la clase garantizaraacute que las postcondiciones se cumplandespueacutes que se ha aplicado el meacutetodo

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 18: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

Clasificacioacuten seguacuten el

Origen

Lenguajes purosLenguajes Hibridos

Smalltalk Eiffel

C ++ OBJECT PASCAL

Objetos Mensajes

Clases

Objetos Mensajes

Clases

Lenguajes con base tradicional

+

Clasificacioacuten seguacuten elOrigen

Caracteriacutesticas de losLPOO

31 Elementos Concretos

Requisitos Deseablesen los LPOO

Conceptos clarosbull Orientacioacuten al Objetopurabull Seguridadbull Alto nivelbull Modelo de ejecucioacutensimplebull Sintaxis faacutecil de leer

bull Eliminacioacuten de laredundanciabull Pequentildeobull De faacutecil transicioacuten aotros lenguajesbull Soporte para elaseguramiento de lacorreccioacutenbull Entornos agradables

Revisioacuten de algunos delos Principales LPOO

41 SIMULA

El Simula 67 fue considerado como elprimer LPOO

bull Fue disentildeado en 1967 por Ole-Johan Dhaly Kristen Nygaard en el Norwegian

Computing Center en Oslobull El nombre de Simula 67 fue acortado a

Simula en 1986 existiendo un estaacutendar dellenguaje desde 1987 [SIS 1987]

- Primer lenguaje creado con tecnologiacutea de objetos puros- El origen de Smalltalk estaacute alrededor de 1970 en la Universidad de Utahde la mano de Alan Kay- Smalltalk se desarrolla en el Xerox Palo Alto Research Center (PARC)de la mano de Alan Kay Adele Goldberg y Daniel Ingalls- Los conceptos de Smalltalk han influido en el disentildeo de LPOO y en el aspectoy sensacioacuten de los GUI como los de Macintosh o Motif- Smalltalk 72 Smalltalk 74 Smalltalk 76 Smalltalk 78 y Smalltalk 80- SmalltalkV de Digital- Entorno de programacioacuten Lenguaje Smalltalk baacutesico Coleccioacuten de clases y elentorno real de programacioacuten- El estilo del lenguaje se enfatiza la ligadura dinaacutemica y no realiza chequeo detipos- El bloque fundamental es la clase que contiene la descripcioacuten de variables ymeacutetodos- Los meacutetodos contienen el coacutedigo y definen coacutemo responde un objeto a unmensaje

SMALLTALK

- La ejecucioacuten de una rutina de un objeto se denomina en la terminologiacutea deSmalltalk ldquoenviar un mensajerdquo al objeto cuya clase encontraraacute la formaapropiada de manejar dicho mensaje- Todo en Smalltalk son objetos incluyendo a las propias clases- El entorno de Smalltalk permite un raacutepido desarrollo de programas- La biblioteca de clases fue disentildeada para ser extendida y adaptada por adicioacutende subclases para satisfacer las necesidades de la aplicacioacuten- La arquitectura ModeloVistaControlador (MVC) es una importante contribucioacutende Smalltalk- Una referencia claacutesica sobre Smalltalk es [Goldberg and Robson 1983]

43 C++

- C++ es un lenguaje hiacutebrido extensioacuten del lenguaje C- Fue desarrollado por Bjarne Stroustrup en los laboratorios ATampT- Las primeras versiones del lenguaje se denominaron C con clasesy datan de 1980- El nombre de C++ se debe a Rick Mascitti quien lo bautizoacute de estamanera en el verano de 1983- C++ fue instalado por primera vez fuera del grupo de investigacioacutendel autor en julio de 1983- En 1987 surge la necesidad de estandarizacioacuten de C++- Dispone de capacidades para la herencia simple y muacuteltiple- Por defecto C++ tiene ligadura estaacutetica- Las funciones definidas como virtuales pueden beneficiarse delconcepto de ligadura dinaacutemica

C++ es estrictamente tipado aunque admite la posibilidad de casting- No cuenta con un recolector de basura- La ausencia de un gestor automaacutetico de memoria por defecto obligaal concepto de destructor- Ocultamiento de la informacioacuten incluso a los descendientes- Cuenta con un mecanismo de acceso especial por parte de una clase ouna funcioacuten que se declare como friend- Soporte de manejo de excepciones- Soporte de genericidad mediante las plantillas- Permite sobrecarga de operadores- Sintaxis oscura y gramaacutetica difiacutecil de analizar- Lenguaje complejo preocupado por la deteccioacuten temprana de erroresy por la eficiencia de la ejecucioacuten perdiendo algo de sencillez y deflexibilidad para el disentildeo- [Stroustrup 1997] es una referencia vaacutelida para este lenguaje

Eiffel

- Eiffel fue desarrollado por Bertrand Meyer- Es un lenguaje orientado al objeto puro- Soporta ligadura dinaacutemica- Tiene comprobacioacuten estricta de tipos- Admite herencia muacuteltiple- Soporta clases parametrizadas- La gestioacuten de memoria la lleva a cabo el entorno de programacioacuten- Eiffel proporciona una biblioteca de clases predefinidas muy completa- Eiffel cuenta con la clase como uacutenico criterio de estructuracioacuten- Una declaracioacuten de clase en Eiffel puede incluir una lista de caracteriacutesticasexportadas una lista de clases predecesoras y una lista de declaraciones decaracteriacutesticas- Cuenta con manejo de excepciones- [Meyer 1992] es una de las referencias obligadas aunque con unas mirasmaacutes amplias se recomienda [Meyer 1997]

-Disentildeo por contrato

bull Precondiciones que deben cumplirse antes de que se invoque un meacutetodobull Postcondiciones que se garantizan han de cumplirse despueacutes de que sehaya ejecutado el meacutetodobull Invariantes condicioacuten que debe cumplir la clase en toda circunstanciaestablebull Un contrato entre el proveedor y el usuario de una clase espera que1048670 El usuario de una clase aseguraraacute que las precondiciones de un meacutetodose cumplan antes de que el meacutetodo se invoque1048670 El proveedor de la clase garantizaraacute que las postcondiciones se cumplandespueacutes que se ha aplicado el meacutetodo

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 19: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

Clasificacioacuten seguacuten elOrigen

Caracteriacutesticas de losLPOO

31 Elementos Concretos

Requisitos Deseablesen los LPOO

Conceptos clarosbull Orientacioacuten al Objetopurabull Seguridadbull Alto nivelbull Modelo de ejecucioacutensimplebull Sintaxis faacutecil de leer

bull Eliminacioacuten de laredundanciabull Pequentildeobull De faacutecil transicioacuten aotros lenguajesbull Soporte para elaseguramiento de lacorreccioacutenbull Entornos agradables

Revisioacuten de algunos delos Principales LPOO

41 SIMULA

El Simula 67 fue considerado como elprimer LPOO

bull Fue disentildeado en 1967 por Ole-Johan Dhaly Kristen Nygaard en el Norwegian

Computing Center en Oslobull El nombre de Simula 67 fue acortado a

Simula en 1986 existiendo un estaacutendar dellenguaje desde 1987 [SIS 1987]

- Primer lenguaje creado con tecnologiacutea de objetos puros- El origen de Smalltalk estaacute alrededor de 1970 en la Universidad de Utahde la mano de Alan Kay- Smalltalk se desarrolla en el Xerox Palo Alto Research Center (PARC)de la mano de Alan Kay Adele Goldberg y Daniel Ingalls- Los conceptos de Smalltalk han influido en el disentildeo de LPOO y en el aspectoy sensacioacuten de los GUI como los de Macintosh o Motif- Smalltalk 72 Smalltalk 74 Smalltalk 76 Smalltalk 78 y Smalltalk 80- SmalltalkV de Digital- Entorno de programacioacuten Lenguaje Smalltalk baacutesico Coleccioacuten de clases y elentorno real de programacioacuten- El estilo del lenguaje se enfatiza la ligadura dinaacutemica y no realiza chequeo detipos- El bloque fundamental es la clase que contiene la descripcioacuten de variables ymeacutetodos- Los meacutetodos contienen el coacutedigo y definen coacutemo responde un objeto a unmensaje

SMALLTALK

- La ejecucioacuten de una rutina de un objeto se denomina en la terminologiacutea deSmalltalk ldquoenviar un mensajerdquo al objeto cuya clase encontraraacute la formaapropiada de manejar dicho mensaje- Todo en Smalltalk son objetos incluyendo a las propias clases- El entorno de Smalltalk permite un raacutepido desarrollo de programas- La biblioteca de clases fue disentildeada para ser extendida y adaptada por adicioacutende subclases para satisfacer las necesidades de la aplicacioacuten- La arquitectura ModeloVistaControlador (MVC) es una importante contribucioacutende Smalltalk- Una referencia claacutesica sobre Smalltalk es [Goldberg and Robson 1983]

43 C++

- C++ es un lenguaje hiacutebrido extensioacuten del lenguaje C- Fue desarrollado por Bjarne Stroustrup en los laboratorios ATampT- Las primeras versiones del lenguaje se denominaron C con clasesy datan de 1980- El nombre de C++ se debe a Rick Mascitti quien lo bautizoacute de estamanera en el verano de 1983- C++ fue instalado por primera vez fuera del grupo de investigacioacutendel autor en julio de 1983- En 1987 surge la necesidad de estandarizacioacuten de C++- Dispone de capacidades para la herencia simple y muacuteltiple- Por defecto C++ tiene ligadura estaacutetica- Las funciones definidas como virtuales pueden beneficiarse delconcepto de ligadura dinaacutemica

C++ es estrictamente tipado aunque admite la posibilidad de casting- No cuenta con un recolector de basura- La ausencia de un gestor automaacutetico de memoria por defecto obligaal concepto de destructor- Ocultamiento de la informacioacuten incluso a los descendientes- Cuenta con un mecanismo de acceso especial por parte de una clase ouna funcioacuten que se declare como friend- Soporte de manejo de excepciones- Soporte de genericidad mediante las plantillas- Permite sobrecarga de operadores- Sintaxis oscura y gramaacutetica difiacutecil de analizar- Lenguaje complejo preocupado por la deteccioacuten temprana de erroresy por la eficiencia de la ejecucioacuten perdiendo algo de sencillez y deflexibilidad para el disentildeo- [Stroustrup 1997] es una referencia vaacutelida para este lenguaje

Eiffel

- Eiffel fue desarrollado por Bertrand Meyer- Es un lenguaje orientado al objeto puro- Soporta ligadura dinaacutemica- Tiene comprobacioacuten estricta de tipos- Admite herencia muacuteltiple- Soporta clases parametrizadas- La gestioacuten de memoria la lleva a cabo el entorno de programacioacuten- Eiffel proporciona una biblioteca de clases predefinidas muy completa- Eiffel cuenta con la clase como uacutenico criterio de estructuracioacuten- Una declaracioacuten de clase en Eiffel puede incluir una lista de caracteriacutesticasexportadas una lista de clases predecesoras y una lista de declaraciones decaracteriacutesticas- Cuenta con manejo de excepciones- [Meyer 1992] es una de las referencias obligadas aunque con unas mirasmaacutes amplias se recomienda [Meyer 1997]

-Disentildeo por contrato

bull Precondiciones que deben cumplirse antes de que se invoque un meacutetodobull Postcondiciones que se garantizan han de cumplirse despueacutes de que sehaya ejecutado el meacutetodobull Invariantes condicioacuten que debe cumplir la clase en toda circunstanciaestablebull Un contrato entre el proveedor y el usuario de una clase espera que1048670 El usuario de una clase aseguraraacute que las precondiciones de un meacutetodose cumplan antes de que el meacutetodo se invoque1048670 El proveedor de la clase garantizaraacute que las postcondiciones se cumplandespueacutes que se ha aplicado el meacutetodo

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 20: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

Caracteriacutesticas de losLPOO

31 Elementos Concretos

Requisitos Deseablesen los LPOO

Conceptos clarosbull Orientacioacuten al Objetopurabull Seguridadbull Alto nivelbull Modelo de ejecucioacutensimplebull Sintaxis faacutecil de leer

bull Eliminacioacuten de laredundanciabull Pequentildeobull De faacutecil transicioacuten aotros lenguajesbull Soporte para elaseguramiento de lacorreccioacutenbull Entornos agradables

Revisioacuten de algunos delos Principales LPOO

41 SIMULA

El Simula 67 fue considerado como elprimer LPOO

bull Fue disentildeado en 1967 por Ole-Johan Dhaly Kristen Nygaard en el Norwegian

Computing Center en Oslobull El nombre de Simula 67 fue acortado a

Simula en 1986 existiendo un estaacutendar dellenguaje desde 1987 [SIS 1987]

- Primer lenguaje creado con tecnologiacutea de objetos puros- El origen de Smalltalk estaacute alrededor de 1970 en la Universidad de Utahde la mano de Alan Kay- Smalltalk se desarrolla en el Xerox Palo Alto Research Center (PARC)de la mano de Alan Kay Adele Goldberg y Daniel Ingalls- Los conceptos de Smalltalk han influido en el disentildeo de LPOO y en el aspectoy sensacioacuten de los GUI como los de Macintosh o Motif- Smalltalk 72 Smalltalk 74 Smalltalk 76 Smalltalk 78 y Smalltalk 80- SmalltalkV de Digital- Entorno de programacioacuten Lenguaje Smalltalk baacutesico Coleccioacuten de clases y elentorno real de programacioacuten- El estilo del lenguaje se enfatiza la ligadura dinaacutemica y no realiza chequeo detipos- El bloque fundamental es la clase que contiene la descripcioacuten de variables ymeacutetodos- Los meacutetodos contienen el coacutedigo y definen coacutemo responde un objeto a unmensaje

SMALLTALK

- La ejecucioacuten de una rutina de un objeto se denomina en la terminologiacutea deSmalltalk ldquoenviar un mensajerdquo al objeto cuya clase encontraraacute la formaapropiada de manejar dicho mensaje- Todo en Smalltalk son objetos incluyendo a las propias clases- El entorno de Smalltalk permite un raacutepido desarrollo de programas- La biblioteca de clases fue disentildeada para ser extendida y adaptada por adicioacutende subclases para satisfacer las necesidades de la aplicacioacuten- La arquitectura ModeloVistaControlador (MVC) es una importante contribucioacutende Smalltalk- Una referencia claacutesica sobre Smalltalk es [Goldberg and Robson 1983]

43 C++

- C++ es un lenguaje hiacutebrido extensioacuten del lenguaje C- Fue desarrollado por Bjarne Stroustrup en los laboratorios ATampT- Las primeras versiones del lenguaje se denominaron C con clasesy datan de 1980- El nombre de C++ se debe a Rick Mascitti quien lo bautizoacute de estamanera en el verano de 1983- C++ fue instalado por primera vez fuera del grupo de investigacioacutendel autor en julio de 1983- En 1987 surge la necesidad de estandarizacioacuten de C++- Dispone de capacidades para la herencia simple y muacuteltiple- Por defecto C++ tiene ligadura estaacutetica- Las funciones definidas como virtuales pueden beneficiarse delconcepto de ligadura dinaacutemica

C++ es estrictamente tipado aunque admite la posibilidad de casting- No cuenta con un recolector de basura- La ausencia de un gestor automaacutetico de memoria por defecto obligaal concepto de destructor- Ocultamiento de la informacioacuten incluso a los descendientes- Cuenta con un mecanismo de acceso especial por parte de una clase ouna funcioacuten que se declare como friend- Soporte de manejo de excepciones- Soporte de genericidad mediante las plantillas- Permite sobrecarga de operadores- Sintaxis oscura y gramaacutetica difiacutecil de analizar- Lenguaje complejo preocupado por la deteccioacuten temprana de erroresy por la eficiencia de la ejecucioacuten perdiendo algo de sencillez y deflexibilidad para el disentildeo- [Stroustrup 1997] es una referencia vaacutelida para este lenguaje

Eiffel

- Eiffel fue desarrollado por Bertrand Meyer- Es un lenguaje orientado al objeto puro- Soporta ligadura dinaacutemica- Tiene comprobacioacuten estricta de tipos- Admite herencia muacuteltiple- Soporta clases parametrizadas- La gestioacuten de memoria la lleva a cabo el entorno de programacioacuten- Eiffel proporciona una biblioteca de clases predefinidas muy completa- Eiffel cuenta con la clase como uacutenico criterio de estructuracioacuten- Una declaracioacuten de clase en Eiffel puede incluir una lista de caracteriacutesticasexportadas una lista de clases predecesoras y una lista de declaraciones decaracteriacutesticas- Cuenta con manejo de excepciones- [Meyer 1992] es una de las referencias obligadas aunque con unas mirasmaacutes amplias se recomienda [Meyer 1997]

-Disentildeo por contrato

bull Precondiciones que deben cumplirse antes de que se invoque un meacutetodobull Postcondiciones que se garantizan han de cumplirse despueacutes de que sehaya ejecutado el meacutetodobull Invariantes condicioacuten que debe cumplir la clase en toda circunstanciaestablebull Un contrato entre el proveedor y el usuario de una clase espera que1048670 El usuario de una clase aseguraraacute que las precondiciones de un meacutetodose cumplan antes de que el meacutetodo se invoque1048670 El proveedor de la clase garantizaraacute que las postcondiciones se cumplandespueacutes que se ha aplicado el meacutetodo

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 21: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

Requisitos Deseablesen los LPOO

Conceptos clarosbull Orientacioacuten al Objetopurabull Seguridadbull Alto nivelbull Modelo de ejecucioacutensimplebull Sintaxis faacutecil de leer

bull Eliminacioacuten de laredundanciabull Pequentildeobull De faacutecil transicioacuten aotros lenguajesbull Soporte para elaseguramiento de lacorreccioacutenbull Entornos agradables

Revisioacuten de algunos delos Principales LPOO

41 SIMULA

El Simula 67 fue considerado como elprimer LPOO

bull Fue disentildeado en 1967 por Ole-Johan Dhaly Kristen Nygaard en el Norwegian

Computing Center en Oslobull El nombre de Simula 67 fue acortado a

Simula en 1986 existiendo un estaacutendar dellenguaje desde 1987 [SIS 1987]

- Primer lenguaje creado con tecnologiacutea de objetos puros- El origen de Smalltalk estaacute alrededor de 1970 en la Universidad de Utahde la mano de Alan Kay- Smalltalk se desarrolla en el Xerox Palo Alto Research Center (PARC)de la mano de Alan Kay Adele Goldberg y Daniel Ingalls- Los conceptos de Smalltalk han influido en el disentildeo de LPOO y en el aspectoy sensacioacuten de los GUI como los de Macintosh o Motif- Smalltalk 72 Smalltalk 74 Smalltalk 76 Smalltalk 78 y Smalltalk 80- SmalltalkV de Digital- Entorno de programacioacuten Lenguaje Smalltalk baacutesico Coleccioacuten de clases y elentorno real de programacioacuten- El estilo del lenguaje se enfatiza la ligadura dinaacutemica y no realiza chequeo detipos- El bloque fundamental es la clase que contiene la descripcioacuten de variables ymeacutetodos- Los meacutetodos contienen el coacutedigo y definen coacutemo responde un objeto a unmensaje

SMALLTALK

- La ejecucioacuten de una rutina de un objeto se denomina en la terminologiacutea deSmalltalk ldquoenviar un mensajerdquo al objeto cuya clase encontraraacute la formaapropiada de manejar dicho mensaje- Todo en Smalltalk son objetos incluyendo a las propias clases- El entorno de Smalltalk permite un raacutepido desarrollo de programas- La biblioteca de clases fue disentildeada para ser extendida y adaptada por adicioacutende subclases para satisfacer las necesidades de la aplicacioacuten- La arquitectura ModeloVistaControlador (MVC) es una importante contribucioacutende Smalltalk- Una referencia claacutesica sobre Smalltalk es [Goldberg and Robson 1983]

43 C++

- C++ es un lenguaje hiacutebrido extensioacuten del lenguaje C- Fue desarrollado por Bjarne Stroustrup en los laboratorios ATampT- Las primeras versiones del lenguaje se denominaron C con clasesy datan de 1980- El nombre de C++ se debe a Rick Mascitti quien lo bautizoacute de estamanera en el verano de 1983- C++ fue instalado por primera vez fuera del grupo de investigacioacutendel autor en julio de 1983- En 1987 surge la necesidad de estandarizacioacuten de C++- Dispone de capacidades para la herencia simple y muacuteltiple- Por defecto C++ tiene ligadura estaacutetica- Las funciones definidas como virtuales pueden beneficiarse delconcepto de ligadura dinaacutemica

C++ es estrictamente tipado aunque admite la posibilidad de casting- No cuenta con un recolector de basura- La ausencia de un gestor automaacutetico de memoria por defecto obligaal concepto de destructor- Ocultamiento de la informacioacuten incluso a los descendientes- Cuenta con un mecanismo de acceso especial por parte de una clase ouna funcioacuten que se declare como friend- Soporte de manejo de excepciones- Soporte de genericidad mediante las plantillas- Permite sobrecarga de operadores- Sintaxis oscura y gramaacutetica difiacutecil de analizar- Lenguaje complejo preocupado por la deteccioacuten temprana de erroresy por la eficiencia de la ejecucioacuten perdiendo algo de sencillez y deflexibilidad para el disentildeo- [Stroustrup 1997] es una referencia vaacutelida para este lenguaje

Eiffel

- Eiffel fue desarrollado por Bertrand Meyer- Es un lenguaje orientado al objeto puro- Soporta ligadura dinaacutemica- Tiene comprobacioacuten estricta de tipos- Admite herencia muacuteltiple- Soporta clases parametrizadas- La gestioacuten de memoria la lleva a cabo el entorno de programacioacuten- Eiffel proporciona una biblioteca de clases predefinidas muy completa- Eiffel cuenta con la clase como uacutenico criterio de estructuracioacuten- Una declaracioacuten de clase en Eiffel puede incluir una lista de caracteriacutesticasexportadas una lista de clases predecesoras y una lista de declaraciones decaracteriacutesticas- Cuenta con manejo de excepciones- [Meyer 1992] es una de las referencias obligadas aunque con unas mirasmaacutes amplias se recomienda [Meyer 1997]

-Disentildeo por contrato

bull Precondiciones que deben cumplirse antes de que se invoque un meacutetodobull Postcondiciones que se garantizan han de cumplirse despueacutes de que sehaya ejecutado el meacutetodobull Invariantes condicioacuten que debe cumplir la clase en toda circunstanciaestablebull Un contrato entre el proveedor y el usuario de una clase espera que1048670 El usuario de una clase aseguraraacute que las precondiciones de un meacutetodose cumplan antes de que el meacutetodo se invoque1048670 El proveedor de la clase garantizaraacute que las postcondiciones se cumplandespueacutes que se ha aplicado el meacutetodo

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 22: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

41 SIMULA

El Simula 67 fue considerado como elprimer LPOO

bull Fue disentildeado en 1967 por Ole-Johan Dhaly Kristen Nygaard en el Norwegian

Computing Center en Oslobull El nombre de Simula 67 fue acortado a

Simula en 1986 existiendo un estaacutendar dellenguaje desde 1987 [SIS 1987]

- Primer lenguaje creado con tecnologiacutea de objetos puros- El origen de Smalltalk estaacute alrededor de 1970 en la Universidad de Utahde la mano de Alan Kay- Smalltalk se desarrolla en el Xerox Palo Alto Research Center (PARC)de la mano de Alan Kay Adele Goldberg y Daniel Ingalls- Los conceptos de Smalltalk han influido en el disentildeo de LPOO y en el aspectoy sensacioacuten de los GUI como los de Macintosh o Motif- Smalltalk 72 Smalltalk 74 Smalltalk 76 Smalltalk 78 y Smalltalk 80- SmalltalkV de Digital- Entorno de programacioacuten Lenguaje Smalltalk baacutesico Coleccioacuten de clases y elentorno real de programacioacuten- El estilo del lenguaje se enfatiza la ligadura dinaacutemica y no realiza chequeo detipos- El bloque fundamental es la clase que contiene la descripcioacuten de variables ymeacutetodos- Los meacutetodos contienen el coacutedigo y definen coacutemo responde un objeto a unmensaje

SMALLTALK

- La ejecucioacuten de una rutina de un objeto se denomina en la terminologiacutea deSmalltalk ldquoenviar un mensajerdquo al objeto cuya clase encontraraacute la formaapropiada de manejar dicho mensaje- Todo en Smalltalk son objetos incluyendo a las propias clases- El entorno de Smalltalk permite un raacutepido desarrollo de programas- La biblioteca de clases fue disentildeada para ser extendida y adaptada por adicioacutende subclases para satisfacer las necesidades de la aplicacioacuten- La arquitectura ModeloVistaControlador (MVC) es una importante contribucioacutende Smalltalk- Una referencia claacutesica sobre Smalltalk es [Goldberg and Robson 1983]

43 C++

- C++ es un lenguaje hiacutebrido extensioacuten del lenguaje C- Fue desarrollado por Bjarne Stroustrup en los laboratorios ATampT- Las primeras versiones del lenguaje se denominaron C con clasesy datan de 1980- El nombre de C++ se debe a Rick Mascitti quien lo bautizoacute de estamanera en el verano de 1983- C++ fue instalado por primera vez fuera del grupo de investigacioacutendel autor en julio de 1983- En 1987 surge la necesidad de estandarizacioacuten de C++- Dispone de capacidades para la herencia simple y muacuteltiple- Por defecto C++ tiene ligadura estaacutetica- Las funciones definidas como virtuales pueden beneficiarse delconcepto de ligadura dinaacutemica

C++ es estrictamente tipado aunque admite la posibilidad de casting- No cuenta con un recolector de basura- La ausencia de un gestor automaacutetico de memoria por defecto obligaal concepto de destructor- Ocultamiento de la informacioacuten incluso a los descendientes- Cuenta con un mecanismo de acceso especial por parte de una clase ouna funcioacuten que se declare como friend- Soporte de manejo de excepciones- Soporte de genericidad mediante las plantillas- Permite sobrecarga de operadores- Sintaxis oscura y gramaacutetica difiacutecil de analizar- Lenguaje complejo preocupado por la deteccioacuten temprana de erroresy por la eficiencia de la ejecucioacuten perdiendo algo de sencillez y deflexibilidad para el disentildeo- [Stroustrup 1997] es una referencia vaacutelida para este lenguaje

Eiffel

- Eiffel fue desarrollado por Bertrand Meyer- Es un lenguaje orientado al objeto puro- Soporta ligadura dinaacutemica- Tiene comprobacioacuten estricta de tipos- Admite herencia muacuteltiple- Soporta clases parametrizadas- La gestioacuten de memoria la lleva a cabo el entorno de programacioacuten- Eiffel proporciona una biblioteca de clases predefinidas muy completa- Eiffel cuenta con la clase como uacutenico criterio de estructuracioacuten- Una declaracioacuten de clase en Eiffel puede incluir una lista de caracteriacutesticasexportadas una lista de clases predecesoras y una lista de declaraciones decaracteriacutesticas- Cuenta con manejo de excepciones- [Meyer 1992] es una de las referencias obligadas aunque con unas mirasmaacutes amplias se recomienda [Meyer 1997]

-Disentildeo por contrato

bull Precondiciones que deben cumplirse antes de que se invoque un meacutetodobull Postcondiciones que se garantizan han de cumplirse despueacutes de que sehaya ejecutado el meacutetodobull Invariantes condicioacuten que debe cumplir la clase en toda circunstanciaestablebull Un contrato entre el proveedor y el usuario de una clase espera que1048670 El usuario de una clase aseguraraacute que las precondiciones de un meacutetodose cumplan antes de que el meacutetodo se invoque1048670 El proveedor de la clase garantizaraacute que las postcondiciones se cumplandespueacutes que se ha aplicado el meacutetodo

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 23: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

- Primer lenguaje creado con tecnologiacutea de objetos puros- El origen de Smalltalk estaacute alrededor de 1970 en la Universidad de Utahde la mano de Alan Kay- Smalltalk se desarrolla en el Xerox Palo Alto Research Center (PARC)de la mano de Alan Kay Adele Goldberg y Daniel Ingalls- Los conceptos de Smalltalk han influido en el disentildeo de LPOO y en el aspectoy sensacioacuten de los GUI como los de Macintosh o Motif- Smalltalk 72 Smalltalk 74 Smalltalk 76 Smalltalk 78 y Smalltalk 80- SmalltalkV de Digital- Entorno de programacioacuten Lenguaje Smalltalk baacutesico Coleccioacuten de clases y elentorno real de programacioacuten- El estilo del lenguaje se enfatiza la ligadura dinaacutemica y no realiza chequeo detipos- El bloque fundamental es la clase que contiene la descripcioacuten de variables ymeacutetodos- Los meacutetodos contienen el coacutedigo y definen coacutemo responde un objeto a unmensaje

SMALLTALK

- La ejecucioacuten de una rutina de un objeto se denomina en la terminologiacutea deSmalltalk ldquoenviar un mensajerdquo al objeto cuya clase encontraraacute la formaapropiada de manejar dicho mensaje- Todo en Smalltalk son objetos incluyendo a las propias clases- El entorno de Smalltalk permite un raacutepido desarrollo de programas- La biblioteca de clases fue disentildeada para ser extendida y adaptada por adicioacutende subclases para satisfacer las necesidades de la aplicacioacuten- La arquitectura ModeloVistaControlador (MVC) es una importante contribucioacutende Smalltalk- Una referencia claacutesica sobre Smalltalk es [Goldberg and Robson 1983]

43 C++

- C++ es un lenguaje hiacutebrido extensioacuten del lenguaje C- Fue desarrollado por Bjarne Stroustrup en los laboratorios ATampT- Las primeras versiones del lenguaje se denominaron C con clasesy datan de 1980- El nombre de C++ se debe a Rick Mascitti quien lo bautizoacute de estamanera en el verano de 1983- C++ fue instalado por primera vez fuera del grupo de investigacioacutendel autor en julio de 1983- En 1987 surge la necesidad de estandarizacioacuten de C++- Dispone de capacidades para la herencia simple y muacuteltiple- Por defecto C++ tiene ligadura estaacutetica- Las funciones definidas como virtuales pueden beneficiarse delconcepto de ligadura dinaacutemica

C++ es estrictamente tipado aunque admite la posibilidad de casting- No cuenta con un recolector de basura- La ausencia de un gestor automaacutetico de memoria por defecto obligaal concepto de destructor- Ocultamiento de la informacioacuten incluso a los descendientes- Cuenta con un mecanismo de acceso especial por parte de una clase ouna funcioacuten que se declare como friend- Soporte de manejo de excepciones- Soporte de genericidad mediante las plantillas- Permite sobrecarga de operadores- Sintaxis oscura y gramaacutetica difiacutecil de analizar- Lenguaje complejo preocupado por la deteccioacuten temprana de erroresy por la eficiencia de la ejecucioacuten perdiendo algo de sencillez y deflexibilidad para el disentildeo- [Stroustrup 1997] es una referencia vaacutelida para este lenguaje

Eiffel

- Eiffel fue desarrollado por Bertrand Meyer- Es un lenguaje orientado al objeto puro- Soporta ligadura dinaacutemica- Tiene comprobacioacuten estricta de tipos- Admite herencia muacuteltiple- Soporta clases parametrizadas- La gestioacuten de memoria la lleva a cabo el entorno de programacioacuten- Eiffel proporciona una biblioteca de clases predefinidas muy completa- Eiffel cuenta con la clase como uacutenico criterio de estructuracioacuten- Una declaracioacuten de clase en Eiffel puede incluir una lista de caracteriacutesticasexportadas una lista de clases predecesoras y una lista de declaraciones decaracteriacutesticas- Cuenta con manejo de excepciones- [Meyer 1992] es una de las referencias obligadas aunque con unas mirasmaacutes amplias se recomienda [Meyer 1997]

-Disentildeo por contrato

bull Precondiciones que deben cumplirse antes de que se invoque un meacutetodobull Postcondiciones que se garantizan han de cumplirse despueacutes de que sehaya ejecutado el meacutetodobull Invariantes condicioacuten que debe cumplir la clase en toda circunstanciaestablebull Un contrato entre el proveedor y el usuario de una clase espera que1048670 El usuario de una clase aseguraraacute que las precondiciones de un meacutetodose cumplan antes de que el meacutetodo se invoque1048670 El proveedor de la clase garantizaraacute que las postcondiciones se cumplandespueacutes que se ha aplicado el meacutetodo

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 24: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

- La ejecucioacuten de una rutina de un objeto se denomina en la terminologiacutea deSmalltalk ldquoenviar un mensajerdquo al objeto cuya clase encontraraacute la formaapropiada de manejar dicho mensaje- Todo en Smalltalk son objetos incluyendo a las propias clases- El entorno de Smalltalk permite un raacutepido desarrollo de programas- La biblioteca de clases fue disentildeada para ser extendida y adaptada por adicioacutende subclases para satisfacer las necesidades de la aplicacioacuten- La arquitectura ModeloVistaControlador (MVC) es una importante contribucioacutende Smalltalk- Una referencia claacutesica sobre Smalltalk es [Goldberg and Robson 1983]

43 C++

- C++ es un lenguaje hiacutebrido extensioacuten del lenguaje C- Fue desarrollado por Bjarne Stroustrup en los laboratorios ATampT- Las primeras versiones del lenguaje se denominaron C con clasesy datan de 1980- El nombre de C++ se debe a Rick Mascitti quien lo bautizoacute de estamanera en el verano de 1983- C++ fue instalado por primera vez fuera del grupo de investigacioacutendel autor en julio de 1983- En 1987 surge la necesidad de estandarizacioacuten de C++- Dispone de capacidades para la herencia simple y muacuteltiple- Por defecto C++ tiene ligadura estaacutetica- Las funciones definidas como virtuales pueden beneficiarse delconcepto de ligadura dinaacutemica

C++ es estrictamente tipado aunque admite la posibilidad de casting- No cuenta con un recolector de basura- La ausencia de un gestor automaacutetico de memoria por defecto obligaal concepto de destructor- Ocultamiento de la informacioacuten incluso a los descendientes- Cuenta con un mecanismo de acceso especial por parte de una clase ouna funcioacuten que se declare como friend- Soporte de manejo de excepciones- Soporte de genericidad mediante las plantillas- Permite sobrecarga de operadores- Sintaxis oscura y gramaacutetica difiacutecil de analizar- Lenguaje complejo preocupado por la deteccioacuten temprana de erroresy por la eficiencia de la ejecucioacuten perdiendo algo de sencillez y deflexibilidad para el disentildeo- [Stroustrup 1997] es una referencia vaacutelida para este lenguaje

Eiffel

- Eiffel fue desarrollado por Bertrand Meyer- Es un lenguaje orientado al objeto puro- Soporta ligadura dinaacutemica- Tiene comprobacioacuten estricta de tipos- Admite herencia muacuteltiple- Soporta clases parametrizadas- La gestioacuten de memoria la lleva a cabo el entorno de programacioacuten- Eiffel proporciona una biblioteca de clases predefinidas muy completa- Eiffel cuenta con la clase como uacutenico criterio de estructuracioacuten- Una declaracioacuten de clase en Eiffel puede incluir una lista de caracteriacutesticasexportadas una lista de clases predecesoras y una lista de declaraciones decaracteriacutesticas- Cuenta con manejo de excepciones- [Meyer 1992] es una de las referencias obligadas aunque con unas mirasmaacutes amplias se recomienda [Meyer 1997]

-Disentildeo por contrato

bull Precondiciones que deben cumplirse antes de que se invoque un meacutetodobull Postcondiciones que se garantizan han de cumplirse despueacutes de que sehaya ejecutado el meacutetodobull Invariantes condicioacuten que debe cumplir la clase en toda circunstanciaestablebull Un contrato entre el proveedor y el usuario de una clase espera que1048670 El usuario de una clase aseguraraacute que las precondiciones de un meacutetodose cumplan antes de que el meacutetodo se invoque1048670 El proveedor de la clase garantizaraacute que las postcondiciones se cumplandespueacutes que se ha aplicado el meacutetodo

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 25: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

43 C++

- C++ es un lenguaje hiacutebrido extensioacuten del lenguaje C- Fue desarrollado por Bjarne Stroustrup en los laboratorios ATampT- Las primeras versiones del lenguaje se denominaron C con clasesy datan de 1980- El nombre de C++ se debe a Rick Mascitti quien lo bautizoacute de estamanera en el verano de 1983- C++ fue instalado por primera vez fuera del grupo de investigacioacutendel autor en julio de 1983- En 1987 surge la necesidad de estandarizacioacuten de C++- Dispone de capacidades para la herencia simple y muacuteltiple- Por defecto C++ tiene ligadura estaacutetica- Las funciones definidas como virtuales pueden beneficiarse delconcepto de ligadura dinaacutemica

C++ es estrictamente tipado aunque admite la posibilidad de casting- No cuenta con un recolector de basura- La ausencia de un gestor automaacutetico de memoria por defecto obligaal concepto de destructor- Ocultamiento de la informacioacuten incluso a los descendientes- Cuenta con un mecanismo de acceso especial por parte de una clase ouna funcioacuten que se declare como friend- Soporte de manejo de excepciones- Soporte de genericidad mediante las plantillas- Permite sobrecarga de operadores- Sintaxis oscura y gramaacutetica difiacutecil de analizar- Lenguaje complejo preocupado por la deteccioacuten temprana de erroresy por la eficiencia de la ejecucioacuten perdiendo algo de sencillez y deflexibilidad para el disentildeo- [Stroustrup 1997] es una referencia vaacutelida para este lenguaje

Eiffel

- Eiffel fue desarrollado por Bertrand Meyer- Es un lenguaje orientado al objeto puro- Soporta ligadura dinaacutemica- Tiene comprobacioacuten estricta de tipos- Admite herencia muacuteltiple- Soporta clases parametrizadas- La gestioacuten de memoria la lleva a cabo el entorno de programacioacuten- Eiffel proporciona una biblioteca de clases predefinidas muy completa- Eiffel cuenta con la clase como uacutenico criterio de estructuracioacuten- Una declaracioacuten de clase en Eiffel puede incluir una lista de caracteriacutesticasexportadas una lista de clases predecesoras y una lista de declaraciones decaracteriacutesticas- Cuenta con manejo de excepciones- [Meyer 1992] es una de las referencias obligadas aunque con unas mirasmaacutes amplias se recomienda [Meyer 1997]

-Disentildeo por contrato

bull Precondiciones que deben cumplirse antes de que se invoque un meacutetodobull Postcondiciones que se garantizan han de cumplirse despueacutes de que sehaya ejecutado el meacutetodobull Invariantes condicioacuten que debe cumplir la clase en toda circunstanciaestablebull Un contrato entre el proveedor y el usuario de una clase espera que1048670 El usuario de una clase aseguraraacute que las precondiciones de un meacutetodose cumplan antes de que el meacutetodo se invoque1048670 El proveedor de la clase garantizaraacute que las postcondiciones se cumplandespueacutes que se ha aplicado el meacutetodo

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 26: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

C++ es estrictamente tipado aunque admite la posibilidad de casting- No cuenta con un recolector de basura- La ausencia de un gestor automaacutetico de memoria por defecto obligaal concepto de destructor- Ocultamiento de la informacioacuten incluso a los descendientes- Cuenta con un mecanismo de acceso especial por parte de una clase ouna funcioacuten que se declare como friend- Soporte de manejo de excepciones- Soporte de genericidad mediante las plantillas- Permite sobrecarga de operadores- Sintaxis oscura y gramaacutetica difiacutecil de analizar- Lenguaje complejo preocupado por la deteccioacuten temprana de erroresy por la eficiencia de la ejecucioacuten perdiendo algo de sencillez y deflexibilidad para el disentildeo- [Stroustrup 1997] es una referencia vaacutelida para este lenguaje

Eiffel

- Eiffel fue desarrollado por Bertrand Meyer- Es un lenguaje orientado al objeto puro- Soporta ligadura dinaacutemica- Tiene comprobacioacuten estricta de tipos- Admite herencia muacuteltiple- Soporta clases parametrizadas- La gestioacuten de memoria la lleva a cabo el entorno de programacioacuten- Eiffel proporciona una biblioteca de clases predefinidas muy completa- Eiffel cuenta con la clase como uacutenico criterio de estructuracioacuten- Una declaracioacuten de clase en Eiffel puede incluir una lista de caracteriacutesticasexportadas una lista de clases predecesoras y una lista de declaraciones decaracteriacutesticas- Cuenta con manejo de excepciones- [Meyer 1992] es una de las referencias obligadas aunque con unas mirasmaacutes amplias se recomienda [Meyer 1997]

-Disentildeo por contrato

bull Precondiciones que deben cumplirse antes de que se invoque un meacutetodobull Postcondiciones que se garantizan han de cumplirse despueacutes de que sehaya ejecutado el meacutetodobull Invariantes condicioacuten que debe cumplir la clase en toda circunstanciaestablebull Un contrato entre el proveedor y el usuario de una clase espera que1048670 El usuario de una clase aseguraraacute que las precondiciones de un meacutetodose cumplan antes de que el meacutetodo se invoque1048670 El proveedor de la clase garantizaraacute que las postcondiciones se cumplandespueacutes que se ha aplicado el meacutetodo

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 27: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

Eiffel

- Eiffel fue desarrollado por Bertrand Meyer- Es un lenguaje orientado al objeto puro- Soporta ligadura dinaacutemica- Tiene comprobacioacuten estricta de tipos- Admite herencia muacuteltiple- Soporta clases parametrizadas- La gestioacuten de memoria la lleva a cabo el entorno de programacioacuten- Eiffel proporciona una biblioteca de clases predefinidas muy completa- Eiffel cuenta con la clase como uacutenico criterio de estructuracioacuten- Una declaracioacuten de clase en Eiffel puede incluir una lista de caracteriacutesticasexportadas una lista de clases predecesoras y una lista de declaraciones decaracteriacutesticas- Cuenta con manejo de excepciones- [Meyer 1992] es una de las referencias obligadas aunque con unas mirasmaacutes amplias se recomienda [Meyer 1997]

-Disentildeo por contrato

bull Precondiciones que deben cumplirse antes de que se invoque un meacutetodobull Postcondiciones que se garantizan han de cumplirse despueacutes de que sehaya ejecutado el meacutetodobull Invariantes condicioacuten que debe cumplir la clase en toda circunstanciaestablebull Un contrato entre el proveedor y el usuario de una clase espera que1048670 El usuario de una clase aseguraraacute que las precondiciones de un meacutetodose cumplan antes de que el meacutetodo se invoque1048670 El proveedor de la clase garantizaraacute que las postcondiciones se cumplandespueacutes que se ha aplicado el meacutetodo

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 28: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

-Disentildeo por contrato

bull Precondiciones que deben cumplirse antes de que se invoque un meacutetodobull Postcondiciones que se garantizan han de cumplirse despueacutes de que sehaya ejecutado el meacutetodobull Invariantes condicioacuten que debe cumplir la clase en toda circunstanciaestablebull Un contrato entre el proveedor y el usuario de una clase espera que1048670 El usuario de una clase aseguraraacute que las precondiciones de un meacutetodose cumplan antes de que el meacutetodo se invoque1048670 El proveedor de la clase garantizaraacute que las postcondiciones se cumplandespueacutes que se ha aplicado el meacutetodo

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 29: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

RESPONSABILIDADES

iquestDe quieacuten es la responsabilidadbull Precondiciones De quien solicita el servicio (cliente)bull Postcondiciones De quien ofrece el servicio (servidor)bull Invariantes De quien esteacute actuando en ese momento sobre el objetobull iquestQueacute provoca la violacioacuten de una asercioacuten Excepcionesbull iexclQueacute se encargue el responsable1048670 Manejo de la excepcioacuten tratar de arreglar la situacioacutenclaacuteusula de rescate intentar nuevamente1048670 Pasar la responsabilidad iquestNadie El sistema abortaAserciones y Herencia La subcontratacioacutenel subcontratado pide menos y garantiza maacutes (sino no es negocio 1048670)

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 30: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

Java- Realizado por un equipo de Sun Microsystems a finales de 1995- Ha recibido una especial atencioacuten desde los primeros meses de 1996- Es un lenguaje orientado al objeto puro disentildeado desde cero que recibemuchas influencias de C++- Se le atribuyen las siguientes caracteriacutesticasbull Simple y poderosobull Segurobull Robustobull Interactivobull Independiente de la arquitecturabull Interpretadobull Sencillo de aprender- Soporta threads-Recogida de basura automaacutetica- De la abundante bibliografiacutea existente se recomienda [SUN 2001]

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 31: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

- Java produce un bytecode que seraacute interpretado por una maacutequina virtual- La maacutequina virtual se encuentra a menudo en navegadores web- La explosioacuten de Internet ha influido en el auge de Java

Java es un componente principal dentro del curriacuteculo de laIngenieriacutea del Software varias Universidades

En los primeros seis meses de 1996 Javaaparecioacute en la prensa de US 4325 veces comopunto de comparacioacuten Bill Gates aparecioacute5096 veces

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 32: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

JAVAHISTORIA Y ANECDOTAS

Puedes ver una presentacion de Work films Tutorial del tema JAVA

Luego puedes continuar con otro temas

VIDEOS

Recomendaciones de la Recomendaciones de la Docencia Docencia

Page 33: MATERIA : PROGRAMACION 5 Tema: EJEMPLOS DEL RESUMEN MAGISTER ING. DIVAS SANJUR S. Presentado por : Geovany A Guerra C.I.P: 4 – 718 – 53 Nivel: Licenciatura

Recomendaciones de la Recomendaciones de la Docencia Docencia