CSharp · Console
using System;
using System.Text;
public class Program
{
public abstract record Person(string FirstName, string LastName)
{
public sealed override string ToString()
{
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append("Base Record"); // type name
stringBuilder.Append(" { ");
if (PrintMembers(stringBuilder))
{
stringBuilder.Append(" ");
}
stringBuilder.Append("}");
return stringBuilder.ToString();
}
}
public record Teacher(string FirstName, string LastName, int Grade): Person(FirstName, LastName)
{
public override string ToString()
{
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append("Teacher Record"); // type name
stringBuilder.Append(" { ");
if (PrintMembers(stringBuilder))
{
stringBuilder.Append(" ");
}
stringBuilder.Append("}");
return stringBuilder.ToString();
}
}
public record Student(string FirstName, string LastName, int Grade): Person(FirstName, LastName);
public static void Main()
{
Person person1 = new Teacher("George", "Washington", 1);
Console.WriteLine(person1);
}
}