PPR Squeak Prac

Embed Size (px)

Citation preview

  • Ing. Lic. Julio Castillo

  • Una de las mejores cualidades de la OO es la capacidad de responder a la pregunta

    Cmo trabaja esto ? con No me importa

    Alan Knight Alan Knight

  • Libremente disponible en : www.squeak.org.

    Se deben bajar 3 partes:

    - La VM que es dependiente del sistema.

    - Imagen del sistema ( Squeak release)

  • World Menu

    Workspace

    Formas

    y los botones del Mouse

  • TranscriptTranscriptTranscriptTranscript:::: ventana principal del sistemaSmalltalk/V, que es un editor de textoutilizado para evaluar expresiones. El propioentorno tambin la utiliza para mostrarmensajes al programador.

    WorkspacesWorkspacesWorkspacesWorkspaces:::: contienen un editor de texto y WorkspacesWorkspacesWorkspacesWorkspaces:::: contienen un editor de texto ypueden utilizarse para evaluar expresiones.

    InspectInspectInspectInspect itititit:::: permiten observar la estructurainterna de un objeto y modificar el valor delas mismas.

    BrowsersBrowsersBrowsersBrowsers:::: permite inspeccionar y editar labiblioteca de clases del ambiente.

  • objeto mensaje Comentarios : Un comentario Asignacin: El operador :=

    Ej: materia := PPR Ej: cantidad := 12

    Literales y Variables:- Literales:

    $z denota el carcter z.

    ppr denota al string con las letras p, p, y r.ppr denota al string con las letras p, p, y r.

    23 denota al nmero 23.

    #ppr denota al smbolo (string constante) con las letras p,p, y r.

    ---- Variables:variable := expresin.

  • Realizar las siguientes operaciones:

    2+3 -> luego botn derecho y print it

    Time now

    Observar lo que sucede y saque sus Observar lo que sucede y saque sus conclusiones iniciales.

  • Escribira:= 3.a factorial Que sucede ? Porqu no funciona ?

    Rpta: Porque es necesario el do it(d) antes!

    Ahora probar con:c:=5c factoriala + c factorial

    Que resultado obtiene ?Rpta: 123

  • Ahora ejecutar:127 printStringRoman

    Que resultado obtiene ?Rpta: 'CXXVII

    Ahora ejecutar:cad := #asdcad at: 2- Que resultado obtiene ? Y que significa ?Rpta: #s es el segundo carcter de la cadena cad.- Que ocurre si hacemos cad at: 5 ?Rpta: Error: subscript is out of bounds:5

  • Mensajes simples:

    1) 20 factorial

    2)'hola mundo como va' size

    3)20 factorial

    4) 5+4) 5+

    Que ocurre en cada caso ?

    Rpta:

    3) Mensaje no comprendido

    4) Se espera un segundo argumento

  • Sedeclaran entre ||, ejemplo:

    | variable1 variable2 variable3|

    Ejecutar las siguientes instrucciones:

    | nombreVariable || nombreVariable |

    nombreVariable := 5.

    nombreVariable := Hola.

    - que se obtiene ? que significa ?

  • Son variables disponibles en todo el entorno y persistentes.

    Ejemplo:

    - Smalltalk at: #VariableG put: ' hola PPR

    Quitar una variable global:

    - Smalltalk removeKey: #VariableG

  • Es una instancia de la clase UndefinedObject.

    Ejemplos:

    - nil isNil -> true

    - nil notNil -> false

    - 5 isNil -> false- 5 isNil -> false

    - 123 notNil -> true

  • Para crear una categora:

    - Abrir el System Browser

    - Botn derecho-> Add Item..

    - Escribir el nombre de la categora y OK.

    (crear la categora Prueba)(crear la categora Prueba)

  • Declaracin de la clase Cuenta Bancaria.

    Object subclass: #CuentaBancaria

    instanceVariableNames: ' numero titular saldo '

    classVariableNames: TasaInteres'classVariableNames: TasaInteres'

    poolDictionaries:

    category: 'Prueba'

    Usar el System Browser->Seleccionar->ClickDerecho-> Accept

  • Creacin de objetos de la clase Cuenta Bancaria:

    - unObjeto:= Object newnewnewnew

    - unaCuenta:= CuentaBancaria newnewnewnew

    - otraCuenta:= CuentaBancaria newnewnewnew- otraCuenta:= CuentaBancaria newnewnewnew

    - Nota: Inicialmente todos los atributos son nil.

  • Sintaxis de un mtodo sin argumentos:Sintaxis de un mtodo sin argumentos:Sintaxis de un mtodo sin argumentos:Sintaxis de un mtodo sin argumentos:

    patrnDelMensaje

    comentario

    |variablesTemporales|

    sentencias.

    Ejemplo: Mtodo consultar el saldo

    consultarSaldo

    saldo de la cuenta

    ^ saldo.

  • Sintaxis de un mtodo con 1 argumento:Sintaxis de un mtodo con 1 argumento:Sintaxis de un mtodo con 1 argumento:Sintaxis de un mtodo con 1 argumento:

    Ejemplo: Mtodo depositar un importe

    depositar: importe

    Acredita el importe indicado en la cuenta

    saldo:= saldo + importe.

  • Sintaxis de un mtodo con argumentosSintaxis de un mtodo con argumentosSintaxis de un mtodo con argumentosSintaxis de un mtodo con argumentos

    patrnDelMensaje: colaboradorExterno1

    comentario

    |variablesTemporales||variablesTemporales|

    sentencias.

  • Mtodo de Modificacin:Mtodo de Modificacin:Mtodo de Modificacin:Mtodo de Modificacin:

    titular: unTitular

    Mtodo modificador del atributo titular

    titular:= unTitular.

    Mtodo de Acceso:Mtodo de Acceso:Mtodo de Acceso:Mtodo de Acceso: Mtodo de Acceso:Mtodo de Acceso:Mtodo de Acceso:Mtodo de Acceso:

    titular

    Mtodo de acceso al atributo titular

    ^titular.

  • En System Browser->all (mensajes)

    Y all escribir:

    descripcion

    "comentario"

    Transcript show: 'Descripcion de la cuentaTranscript show: 'Descripcion de la cuenta

  • depositar: importe

    "incrementa el importe"

    saldo:= saldo + importe.

    Transcript show: 'saldo modificado'

  • Desde la ventana del Workspace ejecutar:

    ejemplo := CuentaBancaria new.

    ejemplo descripcion

    ejemplo consultarSaldo

    Que sucedi ?

  • Mtodo de Inicializacin: Inicializa la instancia con valores vlidos

    initializeinitializeinitializeinitialize

    Inicializa la instancia

    numero:= 0.numero:= 0.

    titular:= ' '.

    saldo:= 0.

  • Ahora ejecutar las siguientes instrucciones:

    ejemplo := CuentaBancaria new.ejemplo descripcionejemplo consultarSaldoejemplo initializeejemplo consultarSaldoejemplo initializeejemplo consultarSaldoejemplo depositar: 5ejemplo consultarSaldoejemplo depositar: 3ejemplo consultarSaldo

    Analice los resultados obtenidos