Intro aux classes et objets
Fait partie de la section Programmation Orientée Objet du Journey C# de Coddy — leçon 3 sur 70.
Une classe est un modèle pour créer des objets. Un objet est une instance d'une classe qui contient des données et un comportement.
Définir une classe simple avec des propriétés
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
}Ajoutez un constructeur pour initialiser l'objet
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
public Dog(string name, int age)
{
Name = name;
Age = age;
}
}Ajoutez une méthode pour définir le comportement
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
public Dog(string name, int age)
{
Name = name;
Age = age;
}
public string Bark()
{
return $"{Name} says Woof!";
}
}Créer un objet (instance) et l'utiliser
Dog myDog = new Dog("Buddy", 3);
Console.WriteLine(myDog.Bark());
Console.WriteLine($"Age: {myDog.Age}");Sortie :
Buddy says Woof!
Age: 3Le mot-clé new crée une instance de la classe, en appelant le constructeur. Vous pouvez créer plusieurs objets à partir de la même classe, chacun avec des données différentes.
Défi
FacileComplétez la classe Car en ajoutant un constructeur et une méthode Drive(). Ensuite, créez un objet Car dans Program.cs et utilisez-le.
La méthode Drive() doit retourner : "The {Brand} is driving!"
Aide-mémoire
Une classe est un plan pour créer des objets. Un objet est une instance d'une classe qui contient des données et un comportement.
Définissez une classe avec des propriétés :
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
}Ajoutez un constructeur pour initialiser l'objet :
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
public Dog(string name, int age)
{
Name = name;
Age = age;
}
}Ajoutez des méthodes pour définir le comportement :
public string Bark()
{
return $"{Name} says Woof!";
}Créez un objet en utilisant le mot-clé new :
Dog myDog = new Dog("Buddy", 3);
Console.WriteLine(myDog.Bark());
Console.WriteLine($"Age: {myDog.Age}");Essayez vous-même
using System;
class Program
{
static void Main()
{
string brand = Console.ReadLine();
int year = int.Parse(Console.ReadLine());
// TODO : Créer un objet Car avec les valeurs d'entrée
// TODO : Afficher "Car: {brand} ({year})"
// TODO : Appeler la méthode Drive() et afficher le résultat
}
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Programmation Orientée Objet
1Fondamentaux de la POO
Fichiers externesEspaces de noms et directivesIntro aux classes et objetsLe mot-clé 'this'Méthodes et paramètresChamps vs PropriétésConstructeursInitialiseurs d'objetsRécapitulatif - Calculatrice simple4Héritage
Syntaxe de base de l'héritage (:)Le mot-clé 'base'Mots-clés Virtual & OverrideClasses scelléesLa classe de base 'object'Récapitulatif - Hiérarchie des employés7Fonctionnalités avancées
Surcharge d'opérateursIndexeurs (this[])Redéfinition de ToString()Méthodes d'extensionRécapitulatif - Liste personnalisée10Patrons de conception - Partie 1
Introduction aux patrons de conceptionSingleton Thread-SafePatron FabriquePatron Observateur (Événements)Patron Stratégie2Propriétés et membres statiques
Propriétés auto-implémentéesPropriétés en lecture/écriture seuleChamps et méthodes statiquesClasses statiquesMembres à corps d'expression5Polymorphisme & Interfaces
Polymorphisme : Compilation vs ExécutionInterface vs Classe AbstraiteInterfaces MultiplesInterfaces ExplicitesUpcasting & DowncastingRécapitulatif - Calculateur de Formes8Concepts avancés de la POO
Composition plutôt qu'héritageGénériques (Classes et Méthodes)Délégués et ÉvénementsAttributs et RéflexionIDisposable et l'instruction usingBases de l'Injection de Dépendances11Patrons de conception, Partie 2
Patron CommandePatron AdaptateurPatron DécorateurPatron Méthode TemplatePatron ÉtatPatron Composite3Architecture des classes
Données d'instance vs statiquesMots-clés 'readonly' & 'const'Champs de supportRécapitulatif - Gestionnaire de compte bancaire6Encapsulation
Modificateurs d'accèsPropriétés pour l'encapsulationImplémentation du masquage de donnéesPatterns d'immuabilitéRécapitulatif - Dossiers d'étudiants12Projet : Système de gestion de bibliothèque
Structure du projetModèles Livre et Utilisateur