Smalltalk

Páginas: 10 (2353 palabras) Publicado: 26 de marzo de 2015
Smalltalk
Smalltalk es un lenguaje orientado a objetos puro: todas las entidades
manipuladas son objetos.

Ej. la expresión
2+4
es el resultado de enviar el mensaje ‘+’ con argumento 4 al objeto 2.

Smalltalk Squeak es un entorno de desarrollo de aplicaciones orientadas a
objetos.
Incluye:
• Un lenguaje: Smalltalk.
• Un modelo de objetos, que define cómo se comportan los objetos.
• Un entorno deprogramación, que permite añadir, modificar y
borrar clases.
• Una jerarquía de clases, que pueden ser reutilizadas directamente y
de las que se puede consultar su código.
• Un entorno de ejecución interpretado.

Smalltalk-1

Objetos
Todo el procesamiento en Smalltalk se lleva a cabo mediante el envío
de mensajes a objetos. Los objetos son instancias de una clase concreta.

‘esto es una cadena’una cadena de caracteres

1234

un número entero

1.234e-5

un número real

$a

un carácter

#( 1 2 3 )

un array de tres elementos

#( ‘array’ ‘de’ 4 ‘elementos’ )

un array de cuatro elementos

#( 1 ( ‘dos’ 3 ) ‘cuatro’ )

un array de tres elementos

true

el valor lógico verdadero

false

el valor lógico falso

[ i := i + 1 ]

un bloque de código

Smalltalk-2

Clases
Una clase define elcomportamiento de sus instancias especificando
su estado (variables de instancia) y su comportamiento (métodos para
responder a los mensajes que se le envían).

Patrón para crear una nueva clase:

NombrePadre subclass: #NombreClase
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: ''

Todo objeto es instancia de una clase, y todo objeto conoce la
instancia a la quepertenece.

Ejemplos:
1234 class
#(Francesca Jackie Marisa Bree) class
'Rakesh Vijay Charles Daniel Tyler' class

Smalltalk-3

Jerarquía de clases de Smalltalk

Smalltalk-4

Navegador de la jerarquía de clases

Smalltalk-5

Mensajes
Todo el procesamiento en Smalltalk se lleva a cabo mediante el envío
de mensajes a objetos. El envío de mensajes es equivalente a la invocación
de funciones en loslenguajes procedimentales.
Un mensaje se compone de tres partes:


un objeto receptor,



un selector de mensaje, y



cero o más argumentos

Ejemplos: ‘este es el momento’ size
# ( 1 3 5 7 ) at: 2
20 factorial
Un mensaje siempre devuelve un único objeto como resultado.
Los mensajes a los que un objeto puede responder se definen en el
protocolo de su clase.
La forma en que el objeto responde a unmensaje se define en el
cuerpo de los métodos.
Los métodos indican la implementación de los mensajes y
representan el comportamiento de la clase.

Smalltalk-6

Tipos de mensajes
Mensajes unarios.
No tienen argumentos.
Ejemplos:

5 factorial
$A asciiValue

Mensajes con argumentos.
Mensajes con uno o más argumentos.
Ejemplos:

‘ejemplo de cadena’ at: 6
‘ejemplo de cadena’ at: 1 put: $E
# ( 9 8 7 6 5 )at: 3

Mensajes binarios.
Mensajes con un argumento, y uno o varios caracteres especiales (ni
dígitos ni letras) como selectores.
Ejemplos:

3+4

suma

5*7

multiplicación

5 // 2

división entera

2/6

división real

Smalltalk evalúa las expresiones aritméticas de izquierda a derecha
estrictamente, sin precedencias entre operadores.
Ejemplo:

3+4*2

devuelve 14, no 11.

Es posible usar paréntesispara controlar el orden de precedencia.
Ejemplo:

3+(4*2)

devuelve 11.
Smalltalk-7

Creación de objetos
Ya hemos creado algunos objetos.

Ejemplos:
'bigger', ' string'
#(1 2 3)

Otra forma de crear objetos es enviando mensajes (constructores) a
las clases.

Ejemplos:
Array new: 10
Array new
Date today
Time now

Smalltalk-8

Referencias a objetos (variables)
En Smalltalk todas las variables sonreferencias (punteros) a objetos,
no estando asociadas a ningún tipo o clase en particular.
Existen varias categorías de variables, dependiendo de su ámbito.

Variables globales
Son variables persistentes, cuyo valor se guarda de una ejecución
para otra del entorno.
Ejemplos:

Display
Transcript
Disk

Las variables globales comienzan con una letra mayúscula y se
declaran de forma implícita....
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • smalltalk
  • Colecciones Smalltalk
  • variables smalltalk
  • polinomio en smalltalk
  • Smalltalk
  • Smalltalk
  • Estructura de Datos, simula y smalltalk
  • Trabajo Practico Sobre Smalltalk

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS