Introduction à Smalltalk
Historique et présentation
Description de la portabilité : machine virtuelle, bytecode, code source, JIT (compilation Just-In-Time)
Le Garbage Collector
Les types d’implémentations
La gestion de la mémoire avec l’allocation et le Ramasse Miettes (gc)
Typage dynamique et statique
Gérer les erreurs
Technologies et concepts objet
Objets, classes, métaclasses, message, abstraction
Principe de l’encapsulation
Méthode et polymorphisme
Instance et classe
La réutilisation (héritage, délégation)
Surcharge et redéfinition
Représentation UML
Associations, agrégation, composition et dépendance
La programmation objet
Instanciation
La notion de visibilité avec Smalltalk : public, private, protected et invisible
Héritage simple de classes et polymorphisme
Méthodes abstraites et interfaces
Découverte des mots clés (nil, self, super, thisContext, here…)
Classe :
– De base : Collections, Streams, Time, Date, Timestamp…
– Privées
Les exceptions
L’environnement de développement
Console, browser, inspecteur, debugger, Refactoring, JUnit, CheckStyle, Logging
Les différents outils spécifiques
Le partage de code, son intégration, export et chargement
Installation de Workspace
Console Transcript
Interface multifenêtre
Découverte du menu principal Launcher
La syntaxe avec Smalltalk
Commentaire
Les types de base (nombre, caractère, chaîne et booléen)
Les types primitifs (entiers, réels, chaines de caractères, symboles, nil, booléens…)
Envoyer des messages, opérateur, précédence, enchaînement
Affectation et retour de méthode
Définir des classes, attributs, méthodes ou variables
Héritage, interface
Type de pseudo variable (this, self et super)
Tableau
Espace de nommage, package, visibilité, classpath
Les structures :
– De contrôle conditionnelles (if, ifTrue, ifFalse, else,?, switch)
– De contrôle itératives (for, while, do, whileTrue, whileFalse, doWhile, doUntil …)
Identité et égalité
Les exceptions (try, catch,…)
Les variables : déclaration, portée (local, global et workspace)
Les types d’instructions : affectation, messages, expressions
Différents types de messages: unary, binary et kewyord
Les blocs et espaces de noms
Librairie de classes de base
Notion d’Object
Gérer :
– Les nombres
– Le temps
– Les caractères
– Les collections
– Les fichiers
– Le graphisme
Map, Set, Itérateur
Concepts avancés
Listener
Instrospection
Invocation dynamique de classe, de méthode et externe
Proxy
Javadoc
Thread
Réseau, Socket et protocole
JNI, JDBC, XML
Garbage Collector, finalisation
Processus (synchroniser, concurrence d’accès)
Accéder aux bases de données et aux fichiers
Notions de réflexivité et introspection
Principe de mutation
Découverte des interfaces graphiques
Designs Patterns (Decorator, Singleton, Fabrique…)
Le déploiement (exécution et paramétrage, Main, classpath et démarche)
Particularités de Smalltalk
La modification dynamique de classe
Accès aux sous-classes
Extension de classe
Override
thisContext