Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Pratique de l'Encapsulation | Principes de la POO
C# au-delà des Bases
course content

Contenu du cours

C# au-delà des Bases

C# au-delà des Bases

1. Structures Supplémentaires et Gestion des Fichiers
2. Structures et Énumérateurs
3. Introduction à la Programmation Orientée Objet (POO)
4. Essentiels de la POO
5. Principes de la POO

book
Pratique de l'Encapsulation

Le code de base comporte deux classes appelées Vehicle et Car. Certains des champs doivent être cachés tandis que d'autres doivent être exposés.

  • Ajustez la visibilité des champs type et modelYear dans Vehicle de sorte qu'ils ne soient pas accessibles depuis l'extérieur de la classe, y compris les classes dérivées ;
  • Créez une nouvelle méthode appelée getModelYear à l'intérieur de la classe Vehicle de sorte qu'elle retourne le modelYear. Cette méthode doit être accessible de partout. Cette méthode permettra aux utilisateurs de cette classe d'accéder au modelYear mais pas de le modifier depuis l'extérieur ;
  • Les propriétés ownerName et fuel ne doivent être accessibles de nulle part ;
  • Créez une méthode appelée getFuel qui retourne la valeur de fuel ;
  • Créez une méthode appelée addFuel qui prend un argument float appelé fuel. À l'intérieur de la méthode, ajoutez la valeur de fuel à la propriété fuel (this.fuel).
cs

index

copy
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
using System; class Vehicle { // Edit code below this line public string type; public int modelYear; // Edit code above this line // Create a method below this line // Create a method above this line public Vehicle(string type, int modelYear) { this.type = type; this.modelYear = modelYear; } } class Car : Vehicle { // Edit code below this line public string brandName; public string numberPlate; public string ownerName; public float fuel; // Edit code above this line // Create a method below this line // Create a method above this line public Car(int modelYear, string brandName, string numberPlate, string ownerName, float fuel) : base("Car", modelYear) { this.brandName = brandName; this.numberPlate = numberPlate; this.ownerName = ownerName; this.fuel = fuel; } } class Program { static void Main() { // Create an instance of Car Car myCar = new Car(2022, "Toyota", "ABC123", "John Doe", 50.0f); // Accessing properties and methods from Car class Console.WriteLine($"Brand: {myCar.brandName}"); Console.WriteLine($"Number Plate: {myCar.numberPlate}"); // Accessing getModelYear method from Vehicle class Console.WriteLine($"Model Year: {myCar.getModelYear()}"); // Accessing getFuel method from Car class Console.WriteLine($"Fuel: {myCar.getFuel()}"); // Adding fuel using addFuel method myCar.addFuel(10.0f); Console.WriteLine($"After adding fuel, new Fuel: {myCar.getFuel()}"); } }
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 7
We're sorry to hear that something went wrong. What happened?
some-alt