Contenu du cours
C# au-delà des Bases
C# au-delà des Bases
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
etmodelYear
dansVehicle
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 classeVehicle
de sorte qu'elle retourne lemodelYear
. Cette méthode doit être accessible de partout. Cette méthode permettra aux utilisateurs de cette classe d'accéder aumodelYear
mais pas de le modifier depuis l'extérieur ;Les propriétés
ownerName
etfuel
ne doivent être accessibles de nulle part ;Créez une méthode appelée
getFuel
qui retourne la valeur defuel
;Créez une méthode appelée
addFuel
qui prend un argumentfloat
appeléfuel
. À l'intérieur de la méthode, ajoutez la valeur defuel
à la propriétéfuel
(this.fuel
).
index
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()}"); } }
Merci pour vos commentaires !