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 (à partir de 2 participants)

Forfait 3-5 personnes : 3300 € H.T.

Forfait 6-8 personnes : 4620 € H.T.

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

 

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