Haaste: Modifikaattoreiden Harjoittelu
Pyyhkäise näyttääksesi valikon
Sinulle on annettu luokka nimeltä Person, jossa on kenttä name-tietojen tallentamiseen. Lisäksi on kaksi luokkaa, Student ja Teacher, jotka perivät Person-luokan.
Ohjelmassa on joitakin virheitä puutteellisen koodin vuoksi. Tehtävänäsi on täydentää koodi seuraavasti:
- Tee sekä
Student- ettäTeacher-luokistaPerson-luokan aliluokkia; - Varmista, että
name-kenttä on käytettävissä aliluokissa, mutta ei muualla.
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(); } }
- Tässä tehtävässä sinun tulee ensin käyttää perittyjen luokkien käsitettä ja sen jälkeen näkyvyysmuokkaimia.
- Käytämme
:-symbolia määrittämään yliluokan lapsiluokan määrittelyssä. - Muista, mikä näkyvyysmuokkain sopii
name-kentälle, jotta se ei ole näkyvissä luokan ulkopuolelta, mutta on käytettävissä aliluokissa.
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(); } }
Oliko kaikki selvää?
Kiitos palautteestasi!
Osio 1. Luku 35
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Mahtavaa!
Completion arvosana parantunut arvoon 2.08Osio 1. Luku 35