Défi : Exercice sur les Modificateurs
Vous disposez d'une classe nommée Person
avec un champ pour stocker le name
. De plus, il existe deux classes nommées Student
et Teacher
qui dérivent de Person
.
Le programme comporte des erreurs en raison de code incomplet. Votre tâche consiste à compléter le code en :
- Faisant en sorte que
Student
etTeacher
héritent tous deux de la classePerson
; - Garantissant que le champ
name
soit accessible dans les classes dérivées mais inaccessible depuis l'extérieur.
index.cs
12345678910111213141516171819202122232425262728293031323334353637383940414243444546using System; public class Person { // Field to store the name string name; } public class Student { public Student(string name) { this.name = name; } public void Study() { Console.WriteLine($"{name} is studying."); } } public class Teacher { public Teacher(string name) { this.name = name; } public void Teach() { Console.WriteLine($"{name} is teaching."); } } public class Program { public static void Main(string[] args) { Teacher t = new Teacher("Hannah"); Student s = new Student("Mark"); t.Teach(); s.Study(); } }
- Dans cet exercice, il faut d'abord utiliser le concept de classes dérivées, puis les modificateurs d'accès.
- On utilise le symbole
:
pour spécifier la classe parente lors de la définition d'une classe dérivée. - Rappelez-vous quel modificateur d'accès est approprié pour le champ
name
afin de le masquer à l'extérieur de la classe tout en le rendant accessible dans les classes dérivées.
index.cs
123456789101112131415161718192021222324252627282930313233343536373839404142434445using System; public class Person { // Field to store the name protected string name; } public class Student : Person { public Student(string name) { this.name = name; } public void Study() { Console.WriteLine($"{name} is studying."); } } public class Teacher : Person { public Teacher(string name) { this.name = name; } public void Teach() { Console.WriteLine($"{name} is teaching."); } } public class Program { public static void Main(string[] args) { Teacher t = new Teacher("Hannah"); Student s = new Student("Mark"); t.Teach(); s.Study(); } }
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Awesome!
Completion rate improved to 2.04
Défi : Exercice sur les Modificateurs
Glissez pour afficher le menu
Vous disposez d'une classe nommée Person
avec un champ pour stocker le name
. De plus, il existe deux classes nommées Student
et Teacher
qui dérivent de Person
.
Le programme comporte des erreurs en raison de code incomplet. Votre tâche consiste à compléter le code en :
- Faisant en sorte que
Student
etTeacher
héritent tous deux de la classePerson
; - Garantissant que le champ
name
soit accessible dans les classes dérivées mais inaccessible depuis l'extérieur.
index.cs
12345678910111213141516171819202122232425262728293031323334353637383940414243444546using System; public class Person { // Field to store the name string name; } public class Student { public Student(string name) { this.name = name; } public void Study() { Console.WriteLine($"{name} is studying."); } } public class Teacher { public Teacher(string name) { this.name = name; } public void Teach() { Console.WriteLine($"{name} is teaching."); } } public class Program { public static void Main(string[] args) { Teacher t = new Teacher("Hannah"); Student s = new Student("Mark"); t.Teach(); s.Study(); } }
- Dans cet exercice, il faut d'abord utiliser le concept de classes dérivées, puis les modificateurs d'accès.
- On utilise le symbole
:
pour spécifier la classe parente lors de la définition d'une classe dérivée. - Rappelez-vous quel modificateur d'accès est approprié pour le champ
name
afin de le masquer à l'extérieur de la classe tout en le rendant accessible dans les classes dérivées.
index.cs
123456789101112131415161718192021222324252627282930313233343536373839404142434445using System; public class Person { // Field to store the name protected string name; } public class Student : Person { public Student(string name) { this.name = name; } public void Study() { Console.WriteLine($"{name} is studying."); } } public class Teacher : Person { public Teacher(string name) { this.name = name; } public void Teach() { Console.WriteLine($"{name} is teaching."); } } public class Program { public static void Main(string[] args) { Teacher t = new Teacher("Hannah"); Student s = new Student("Mark"); t.Teach(); s.Study(); } }
Merci pour vos commentaires !