Le langage Objective-C


Programmation


DP-OBJC      


Durée
      3 jours

 



Objectif

Rédiger des programmes en Objective-C pour les environnements graphiques (tels que Cocoa/Mac OS X ou GNUstep/UNIX) aussi bien que pour le mode texte.

Description

Il y a déjà plus de 25 ans, NeXT donnait à Objective-C ses titres de noblesse en l'adoptant pour la réalisation de l'un des plus impressionnants systèmes d'exploitation : NEXTSTEP. Il persiste aujourd'hui comme langage de référence du système Mac OS X mais aussi comme choix de prédilection du projet GNUstep. Objective-C enrichit le C d'une couche orientée objet, bien avant C++. D'une syntaxe largement inspirée et même empruntée à Smalltalk, l'un des modèles, sinon le modèle des langages objet, Objective-C a influencé à son tour les concepteurs de Java. Nous vous ferons découvrir ce que peut être un langage C correctement orienté objet.

Prérequis

Connaître les bases du langage C.

Public

Programmeur ayant une première expérience.

Sujets abordés

  • Introduction
    • Pourquoi Objective-C ?
    • L'environnement de développement
  • Programmation Orientée Objet (POO)
    • Interface et implémentation
    • Le modèle objet
      • La métaphore de l'envoi de message
      • Classes
        • Modularité
        • Réusabilité
      • Mécanismes d'abstraction
        • Encapsulation
        • Polymorphisme
      • Héritage
        • Hiérarchies des classes
        • Définition de sous-classes
        • Usages
      • Dynamisme
        • Typage dynamique
        • Résolution de lien dynamique
        • Chargement dynamique
    • Structuration des programmes
      • Points de connexions
        • Connexions intrinsèques et extrinsèques
        • Activation du réseau d'objets
      • Aggrégation et décomposition
      • Modèles et Frameworks
    • Structurer la tâche de programmation
      • Collaboration
      • Organiser les projets orientés objet
        • Concevoir à une grande échelle
        • Distinguer interface et implémentation
        • Modulariser le travail
        • Conserver l'interface simple
        • Réutiliser le code validé
  • Le langage Objective-C
    • Objets Objective-C
      • Le type générique id
      • Typage dynamique
    • Envoi de message
      • Accès aux variables d'instance du receveur
      • Polymorphisme
      • Résolution de lien dynamique
    • Classes
      • Héritage
        • des variables d'instance
        • des méthodes
        • Surcharger une méthode
        • Classes abstraites
      • Types de classe
        • Typage statique
        • Détermination du type à l'exécution
      • Objets de type classe
        • Instanciation
        • Variables et objets de type classe (variables de classe)
        • Initialiser un objet de type classe
        • Méthodes de la classe racine
      • Apparition des noms des classes dans le code source
    • Définition d'une classe
      • L'interface
        • Importer une interface
        • Mention d'autres classes
        • Le rôle de l'interface
      • L'implémentation
        • Références aux variables d'instance
        • Portée des variables d'instance
    • Comment les messages fonctionnent
      • Sélecteurs
      • Méthodes et sélecteurs
      • Types des arguments et de la valeur de retour d'une méthode
      • Variation du message durant l'exécution
      • Paradigme Cible-Action (Target-Action)
      • Éviter les erreurs relatives aux envois de message
    • Arguments cachés
    • Messages adressés à self et super
      • Utilisation de super
      • Redéfinition de self
    • Extension de classes
      • Catégories - Ajout de méthodes à une classe existante
        • Ajouter à une classe
        • Comment sont employées les catégories
        • Catégories de la classe racine
      • Protocoles - Déclaration d'interfaces que d'autres implémenteront
        • À quels moments utiliser les protocoles
    • Valider les comportements statiques
      • Typage statique
        • Détermination de type
        • Types des arguments et de la valeur de retour
      • Obtention de l'adresse d'une méthode
      • Obtention de l'adresse de la structure de données d'un objet
  • L'environnement d'exécution (Runtime) Objective-C
    • Gestion de la mémoire
      • Allocation et initialisation des objets
        • Objet retourné
        • Arguments
        • Coordonner les classes
        • Méthode d'initialisation désignée
        • Combiner allocation et initialisation
      • Rétention d'objets
        • Gestion des références cycliques
      • Libération
        • Libération d'objets partagés
        • Libération de variables d'instance
        • Marquer les objets pour une libération retardée
      • Propriétaire d'objet
    • Suivi de message (forwarding)
      • Suivi et héritage multiple
      • Objet substitut
      • Suivi et héritage
    • Chargement dynamique
    • Envoi de message distant (remote messaging)
      • Objets distribués
        • Messages synchrones et asynchrones
        • Arguments de types pointeurs
        • Mandataires (proxies) et copies
    • Codage des types
  • Fonctions et structures de données de l'environnement d'exécution (Runtime)
  • Aspects annexes
    • Types prédéfinis
    • Directives du préprocesseur
    • Directives de compilation
    • Protocoles formels
    • Conventions lexicales

Tarifs

1320 € H.T. / personne (comprend les déjeuners).

Supplément prise en charge complète (hébergement, petits déjeuners et dîners) : 320 € H.T. / personne.

Forfait 3-5 personnes : 3300 € H.T. (déjeuners compris).

Forfait 6-8 personnes : 4620 € H.T. (déjeuners compris).

Intervention en intra (maximum 10 personnes) : 5120 € H.T. (tous les frais sont inclus).

 

http://formation.diablotin.com
Nous envoyer un courrier électronique