using System;
class Parent
{
public string Name;
static Parent()
{
Console.WriteLine("Статичний конструктор батьківського класу");
}
public Parent()
{
Name = "Олександр Зімін";
Console.WriteLine("Конструктор за замовчуванням батьківського класу");
}
public Parent(string name)
{
Name = name;
Console.WriteLine($"Параметризований конструктор батьківського класу: {Name}");
}
}
class Child : Parent
{
public string StudentName;
public bool IsPresent;
static Child()
{
Console.WriteLine("Статичний конструктор дочірнього класу");
}
public Child() : base()
{
StudentName = "Данііл Зімін";
Console.WriteLine("Конструктор за замовчуванням дочірнього класу");
}
public Child(string parentName, string studentName) : base(parentName)
{
StudentName = studentName;
Console.WriteLine($"Параметризований конструктор дочірнього класу: {StudentName}");
}
public Child(Child other) : base(other.Name)
{
StudentName = other.StudentName;
IsPresent = other.IsPresent;
Console.WriteLine("Конструктор копіювання дочірнього класу");
}
public void CheckAttendance()
{
string status = IsPresent ? "Присутній на занятті" : "Відсутній на занятті";
Console.WriteLine($"{StudentName}: {status}");
}
}
class Program
{
static void Main()
{
Console.WriteLine("1. Створення об'єкта за замовчуванням");
Child student1 = new Child();
student1.IsPresent = true;
student1.CheckAttendance();
Console.WriteLine("\n2. Створення об'єкта з параметрами");
Child student2 = new Child("Олександр Зімін", "Данііл Зімін");
student2.IsPresent = false;
student2.CheckAttendance();
Console.WriteLine("\n3. Копіювання об'єкта");
Child student3 = new Child(student2);
student3.IsPresent = true;
student3.CheckAttendance();
}
}