Fichiers externes
Fait partie de la section Programmation Orientée Objet du Journey C# de Coddy — leçon 1 sur 70.
Les fichiers externes vous permettent d'organiser vos classes dans des fichiers C# distincts et de les référencer dans votre programme principal en utilisant des espaces de noms.
Créez un fichier C# distinct nommé MyClass.cs
namespace MyApp
{
public class MyClass
{
public string Name { get; set; }
public MyClass(string name)
{
Name = name;
}
public string Greet()
{
return $"Hello, I'm {Name}";
}
}
}Référencez l'espace de noms dans votre fichier principal
using MyApp;Créez une instance et utilisez-la
MyClass obj = new MyClass("Alice");
Console.WriteLine(obj.Greet());Sortie :
Hello, I'm AliceL'instruction using MyApp; vous permet d'utiliser des classes de l'espace de noms MyApp sans avoir à les qualifier complètement. L'espace de noms regroupe les classes liées entre elles, et les classes doivent être public pour être accessibles depuis d'autres fichiers.
Défi
MoyenVous disposez de fichiers C# (MyClass.cs et Program.cs), ajoutez une instruction using dans le fichier Program.cs pour connecter les fichiers et utiliser la classe du fichier externe !
Aide-mémoire
Les fichiers externes vous permettent d'organiser les classes dans des fichiers C# distincts et de les référencer à l'aide d'espaces de noms.
Créez un fichier C# distinct avec un espace de noms :
namespace MyApp
{
public class MyClass
{
public string Name { get; set; }
public MyClass(string name)
{
Name = name;
}
public string Greet()
{
return $"Hello, I'm {Name}";
}
}
}Référencez l'espace de noms dans votre fichier principal à l'aide de l'instruction using :
using MyApp;Créez une instance et utilisez-la :
MyClass obj = new MyClass("Alice");
Console.WriteLine(obj.Greet());
// Sortie : Hello, I'm AliceLes classes doivent être public pour être accessibles depuis d'autres fichiers. L'instruction using vous permet d'utiliser des classes d'un espace de noms sans avoir à les qualifier complètement.
Essayez vous-même
// TODO : Remplacez le ? par le bon espace de noms pour utiliser MyClass
using ?;
using System;
class Program
{
static void Main()
{
string testCase = Console.ReadLine();
// Créer une instance de MyClass et appeler GetMessage()
MyClass obj = new MyClass();
Console.WriteLine(obj.GetMessage());
}
}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