Formation C# - Cours 3 - Programmation objet

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Formation C# - Cours 3 - Programmation objet - Presentation Transcript

    1. Formation C#
      • Pierre de La Morinerie
      • Club Microsoft Isep — 2007
      Cours n° 3 : Programmation objet
    2. Plan
      • Introduction, premiers pas, concepts
      • Programmation procédurale
      • Programmation objet
      • Programmation Windows
    3. Cours n° 3 Programmation objet Programmation objet
    4. Programmation objet
      • Programmation objet :
        • Modélise le programme par des objets
      • Avantages :
        • Encapsulation
        • Réutilisation facile
        • Débogage facilité
    5. Programmation objet
      • Les classes :
        • Servent à définir des types d’objets
      • Les classes comportent :
        • Des attributs (variables)
        • Des méthodes (fonctions)
    6. Programmation objet
      • Différence classe/objet :
        • Une classe est un type (un moule)
        • Un objet est une variable (un gâteau)
      • Exemple :
      • Une classe Voiture
      • Deux objets, voiturePapa et maVoiture
    7. Programmation objet
      • Déclaration d’une classe :
        • class <nom de la classe> { }
      • Exemple :
        • class Voiture { }
    8. Programmation objet
      • Ajouter des fonctions à notre classe :
        • <accès> <type> <nom>(<arguments>) { }
      • Exemple :
        • public int MaMéthode(string a) { // code return 0; }
    9. Programmation objet
      • Modificateurs d’accès :
        • public : visible depuis l’extérieur et l’intérieur
        • private : visible uniquement de l’intérieur
    10. Programmation objet
      • Exemple : calculatrice
        • Code de l’interface dans la classe Main
        • Calculs dans une classe Calc
      • Pour l’instant :
        • Programmer un calcul de puissance
    11. Programmation objet
      • Démo : débogage en temps réel
        • Placer un ou plusieurs “Breakpoint”
        • Lancer le débogage
        • Le programme se met en pause aux Breakpoints
    12. Programmation objet
      • Namespace :
        • “Espace de noms”
        • Différencie des classes de même nom
      • Directive “using <namespace>” :
        • Evite d’avoir à taper le namespace à chaque fois
    13. Attributs
      • Problème :
        • Comment accéder à la même variable depuis plusieurs méthodes ?
      • Solution :
        • Les attributs
    14. Attributs
      • Déclaration d’un attribut :
        • <accès> <type> <nom>;
      • Exemple :
        • public int precision;
    15. Attributs
      • Exemple 2 : Calculette
        • Un attribut précision détermine la précision de tous les calculs
    16. Propriétés
      • Problème :
        • Comment contrôler l’accès à des attributs ?
      • Solution :
        • Les propriétés
    17. Propriétés
      • Déclaration d’une propriété
        • <accès> <type> <nom> { get { // code } set { // code } }
    18. Constructeur
      • Problème :
        • Comment initialiser les attributs d’un objet ?
      • Solution : Les constructeurs
        • Méthode appelée à la création de chaque objet
    19. Constructeur
      • Déclaration d’un constructeur :
        • public <nom de la classe>(<arguments>) { }
      • Exemple :
        • cf. Ex3.cs
    20. Constructeur
      • Avantages :
        • Obligation d’initialiser le ou les attributs
        • Permet d’initialiser l’état de l’objet
    21. Accesseurs
      • Problème : Comment faire pour restreindre l’accès à un attribut ?
        • Solution : le mettre en private
      • Mais si on veut pouvoir lire la précision ?
        • Solution : un accesseur en lecture-seule
    22. Accesseurs
        • Exemple d’accesseur :
          • public int precision { get { return precision; } set { precision = value; } }
        • Cf. Ex4.cs
    23. Accesseurs
      • Avantages :
        • Pas besoin de méthodes supplémentaires
        • Contrôle lecture/écriture
        • Contrôle d’erreur sur la valeur des attributs
    24. Exceptions
      • Problème :
        • Comment signaler les erreurs ?
      • Solution :
        • Passer par un canal spécial : les exceptions
    25. Exceptions
      • Exception : un objet qui est “jeté”
      • Remonte les blocs de code jusqu’à être “attrapé”
    26. Exceptions
      • Jeter une exception :
        • throw new Exception();
      • Attraper une exception :
        • try { // code } catch (Exception e) { Console.WriteLine(“Erreur”); }
    27. Exceptions
      • TP 5 : Exceptions
        • Objectif : éviter les divisions par zéro
        • Calc.Div jette une Exception si b == 0
        • Afficher un message en cas d’erreur
      • Outils
        • throw new Exception()
        • try { } catch (Exception e) { }
    28. XMLDoc
      • Problème :
        • Comment documenter son programme ?
      • Solution :
        • Documenter directement le code
    29. XMLDoc
      • Principe de XMLDoc :
        • Documenter dans le code
        • Classes, fonctions, attributs, etc.
        • Utiliser NDoc
      • Syntaxe :
        • /// <summary>Résumé</summary>
    30. XMLDoc
      • Exemple 5 : Documentation
        • Documenter toute la Calculette
    31. Garbage Collector
      • Libère automatiquement les objets en mémoire
      • Pas besoin de “free” comme en C/C++
    32. Assemblies
      • Assembly : DLL .NET compilée
      • Utilisable depuis n’importe quel langage .NET
      • GAC : Global Assembly Cache

    kemenarankemenaran, 2 years ago

    custom

    4656 views, 0 favs, 0 embeds more stats

    Troisième partie de la formation C# du Club Micros more

    More Info

    © All Rights Reserved

    Go to text version
    • Total Views 4656
      • 4656 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 140
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as innappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel

    Categories