Exercices C#

Calculer la paie des employés avec le polymorphisme en C#

Dans cette leçon, vous allez calculer le total des salaires de différents types d'employés à travers une classe de base abstraite.

Introduction

Chaque type d'employé a sa propre façon de calculer le salaire : l'employé au salaire fixe et l'employé payé à l'heure. En définissant une classe de base abstraite avec la méthode Pay(), le code de paie peut traiter tous les employés de la même manière.

La classe Salaried renvoie le salaire fixe, tandis que Hourly calcule le salaire en multipliant le taux horaire par le nombre d'heures travaillées. Le tableau staff a le type commun Employee, mais quand on appelle employee.Pay(), le programme choisit automatiquement le bon calcul pour chaque type d'employé. Le total des salaires est 1000 + 20 × 10 = 1200.

Exemple C# exécutable

C#
Exécuter le code →
Program.cs
using System;
using System.Linq;
abstract class Employee { public abstract decimal Pay(); }
class Salaried(decimal salary) : Employee { public override decimal Pay() => salary; }
class Hourly(decimal rate, int hours) : Employee { public override decimal Pay() => rate * hours; }
class Program
{
    static void Main()
    {
        Employee[] staff = { new Salaried(1000), new Hourly(20, 10) };
        Console.WriteLine(staff.Sum(employee => employee.Pay()));
    }
}
Résultat de l’exécution
1200

S'entraîner avec le débogueur

Placez un point d'arrêt sur une affectation ou une condition importante, cliquez sur Debug et inspectez les valeurs locales avant de passer à la ligne suivante.

S'entraîner avec un défi

Utilisez le contenu de cette leçon pour résoudre un vrai problème. Chaque défi s'exécute dans le navigateur, avec des tests instantanés et une revue par l'IA.

Tous les défis