• 20 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 29/06/2017

Quelles sont les spécificités du modèle objet en C# ?

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Téléchargez le fichier d'audiodescription : Partie 1, Chapitre 5
Vous trouverez sous la vidéo une fiche récapitulative des grands principes du C# orienté objet et les codes source du cours.

Fiche pratique sur la syntaxe du C# vis à vis de la programmation orientée objet

Différents niveaux de visibilité pour les membres d'une classe

  • public           :     Accessible depuis n'importe quel section du code

  • private         :     Accessible uniquement par les autres membres de la classe

  • protected    :     Accessible par les autres membres de la classe ainsi que les membres des classes filles

  • internal       :     Accessible au sein de l'assembly (.exe ou .dll)

Déclaration du constructeur d'une classe A

class A
{
    public A()
    {
        
    }
}

Déclaration d'une classe A héritant d'une classe B

class A : B
{
    
}

Déclaration d'une interface

interface A
{
    
}

Déclaration d'une méthode abstraite

class A
{
    abstract void MaMethode();
}

Déclaration d'une méthode virtuelle

class A
{
    protected virtual void MaMethode()
    {
        
    }
}

Redéfinir une méthode d'une classe B dans une classe A héritant de B

class B
{
    protected virtual void MaMethode()
    {
        
    }
}
class A : B
{
    protected override void MaMethode()
    {
        
    }
}

Appeler la méthode de la classe mère depuis la redéfinition de cette méthode

class B
{
    protected virtual void MaMethode()
    {
        
    }
}
class A : B
{
    protected override void MaMethode()
    {
        base.MaMethode();
    }
}

Appel du constructeur de la classe mère depuis celui d'une classe fille

class A : B
{
    public A() : base()
    {
        
    }
}

Code source

Program.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

class A
{
    int entier = 42;

    public int Entier
    {
        get
        {
            return entier;
        }
        set
        {
            entier = value >= 0 ? value : 0;
        }
    }

    void MaMethodePrivee()
    {
        Console.WriteLine("Je suis dans ma methode privée!");

    }

    public void MaMethode()
    {
        MaMethodePrivee();
        Console.WriteLine("Je suis dans ma methode !");
    }
}



namespace CSharpEtlaPOO
{
    class Program
    {
        static void Modification(A a)
        {
            a.Entier = 10;
        }

        static void Main(string[] args)
        {
            var a = new A();

            Modification(a);

            Console.WriteLine(a.Entier);

            Console.ReadLine();
        }
    }
}

Exemple de certificat de réussite
Exemple de certificat de réussite