Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porFrancisco Iglesias Castillo Modificado hace 7 años
1
Hablando la gente se entiende (y las cosas también) o una breve introducción a Smalltalk ESTARÍA BUENO USAR SMALLTALK
2
Plato del día El maravilloso mundo de los objetos Smalltalk Demo
3
Un martillo nuevo Antes (funcional) funciones tipos de datos Ahora objetos (sólo eso)
4
Objetos Colaboración basada en Privacidad ( ocultación de información ) Mensajes
5
#(1 2 3) Objetos, nada más En Smalltalk todo es un objeto Sí, todo Posta, todo todo 4 true $a ‘hola’ Gracias por venir... Vuelvan cuando quieran
6
Nombres Literales construcciones sintácticas que denotan objetos elementales ejemplos: 37El entero “37” 'Ser o no ser'El texto “Ser o no ser” 2.71828El número “2,71828” $pEl carácter “p” trueEl valor de verdad “verdadero” #(1 2 3)Un vector con los números “1”, “2” y “3” #pitufoEl símbolo “pitufo” 4
7
Nombres Asignación variable := objeto locales en minúsculas lamole globales en mayúsculas Transcript lamole
8
Mensajes Sí, los mensajes son objetos. Selector Argumentos Método Efecto vs. Resultado DoIt vs. PrintIt sumar 7 4 nombre de operación o selector argumentos
9
Mensajes: tipos Unarios ‘pitufo’ reverse 4 factorial Binarios 17 <= 14 4 + 7 Palabra clave (“keyword”) miCuenta transferir: 300 a: otraCuenta
10
Mensajes Precedencia 1)Unitarios 2)Binarios. 3)Keyword Asociatividad izquierda a derecha Cascada
11
Creando objetos Géneros de objetos: clases (género o clase) Humano (elementos o instancias) walterSamuel samuelWalterNhanForde sirSamuelWalterGriffith
12
En Smalltalk todo es un objeto las clases son objetos tienen variables (de clase) tienen métodos (de clase) new crea una nueva instancia allInstances devuelve un Array con las instancias de la clase guybrush := Humano new
13
Los humanos son... HumanoPerroBallena Mamífero
14
Los son todos relación entre clases (géneros) B es sub-clase de A A es super-clase de B (cada instacia de) B “es un” A B es una especialización de A (“a kind of”) A B
15
Contame de tu clase... HumanoPerroBallena Mamífero class la clase isMemberOf: “es un” (clase) isKindOf: “es un” (clase o subclase) guybrush := Humano new guybrush class. guybrush isMemberOf: Mamífero. guybrush isMemberOf: Humano. guybrush isKindOf: Mamífero. true false true Humano
16
Los son todos los objetos de una subclase tienen más cualidades que los objetos de su superclase los objetos de una subclase son más específicos que los de su superclase, los objetos de una superclase son más generales que los de sus subclases A B
17
El maravilloso mundo, animal. LoroPingüino HumanoPerroBallena Animal Mamífero Pájaro
18
El maravilloso mundo, animal. LoroPingüino HumanoPerroBallena Animal Mamífero Pájaro comer: guybrush := Humano new guybrush comer: ‘un bife’.
19
Herencia y mensajes Method lookup: sube buscando. Tiempo de ejecución (late binding). Herencia de comportamiento. (Reuso de código.)
20
El maravilloso mundo, animal. LoroPingüino HumanoPerroBallena Animal Mamífero Pájaro comer: guybrush := Humano new guybrush comer: ‘un bife’. qué ganas tenía de comer un bife
21
Contestá, Guybrush. comer: unaComida “(Estos) humanos son amables” super comer: unaComida. ^‘qué ganas tenía de comer’, unaComida.
22
Creando objetos (reprise) new ^(super new) initialize
23
Repaso Objetos: colaboración-mensajes-privado En Smalltalk todo es un objeto Los mensajes son objetos Efecto vs. respuesta (Do It vs. Print It) Géneros de objetos (clases) Las clases son objetos Mensajes/variables de clases/instancias Herencia: “es un” (de paso: reuso)
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.