Utfordring: Øvelse med Modifikatorer
Du har en klasse kalt Person
med et felt for å lagre name
. I tillegg finnes det to klasser, Student
og Teacher
, som arver fra Person
.
Det er noen feil i programmet på grunn av ufullstendig kode. Din oppgave er å fullføre koden ved å:
- Sørge for at både
Student
ogTeacher
arver fraPerson
-klassen; - Sikre at feltet
name
er tilgjengelig i underklassene, men utilgjengelig fra andre steder.
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(); } }
- I denne oppgaven må du først bruke konseptet med avledede klasser, deretter tilgangsmodifikatorer.
- Vi bruker symbolet
:
for å angi foreldreklassen i definisjonen av en barneklasse (avledet klasse). - Husk hvilken tilgangsmodifikator som er passende for feltet
name
for å skjule det fra utsiden av klassen, men gjøre det tilgjengelig for underklassene.
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(); } }
Alt var klart?
Takk for tilbakemeldingene dine!
Seksjon 4. Kapittel 4
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Awesome!
Completion rate improved to 2.04
Utfordring: Øvelse med Modifikatorer
Sveip for å vise menyen
Du har en klasse kalt Person
med et felt for å lagre name
. I tillegg finnes det to klasser, Student
og Teacher
, som arver fra Person
.
Det er noen feil i programmet på grunn av ufullstendig kode. Din oppgave er å fullføre koden ved å:
- Sørge for at både
Student
ogTeacher
arver fraPerson
-klassen; - Sikre at feltet
name
er tilgjengelig i underklassene, men utilgjengelig fra andre steder.
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(); } }
- I denne oppgaven må du først bruke konseptet med avledede klasser, deretter tilgangsmodifikatorer.
- Vi bruker symbolet
:
for å angi foreldreklassen i definisjonen av en barneklasse (avledet klasse). - Husk hvilken tilgangsmodifikator som er passende for feltet
name
for å skjule det fra utsiden av klassen, men gjøre det tilgjengelig for underklassene.
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(); } }
Alt var klart?
Takk for tilbakemeldingene dine!
Seksjon 4. Kapittel 4