Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Виклик: Практика з Модифікаторами | Section
C# Понад Базовий Рівень

bookВиклик: Практика з Модифікаторами

Свайпніть щоб показати меню

Вам надано клас з назвою Person з полем для зберігання name. Додатково є два класи — Student та Teacher, які наслідують Person.

У програмі є помилки через неповний код. Ваше завдання — завершити код, виконавши наступне:

  1. Зробити так, щоб і Student, і Teacher наслідували клас Person;
  2. Забезпечити, щоб поле name було доступне у дочірніх класах, але недоступне ззовні.
index.cs

index.cs

copy
12345678910111213141516171819202122232425262728293031323334353637383940414243444546
using 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(); } }
  1. У цьому завданні спочатку потрібно використати концепцію похідних класів, а потім — модифікатори доступу.
  2. Для вказання батьківського класу у визначенні дочірнього (похідного) класу використовується символ :.
  3. Згадайте, який модифікатор доступу підходить для поля name, щоб приховати його від зовнішнього доступу, але зробити доступним у дочірніх класах.
index.cs

index.cs

copy
123456789101112131415161718192021222324252627282930313233343536373839404142434445
using 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(); } }
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 35

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 1. Розділ 35
some-alt