Финальный код
class Program
{
static void Main(string[] args)
{
// создаем два экземпляра класса человек с разными фио
Person person1 = new Person("Пушкин", "Александр", "Сергеевич");
Person person2 = new Person("Гончарова", "Наталья", "Николаевна");
System.Console.WriteLine(person1.Fio);
System.Console.WriteLine(person1.FioInitials);
System.Console.WriteLine(person2.Fio);
System.Console.WriteLine(person2.FioInitials);
System.Console.WriteLine(Person.ClassDescription);
System.Console.WriteLine(Person.ClassDescription);
}
}
// класс человека
public class Person
{
// три строковых переменные-свойства, доступные извне класса - public
private string _name = "";
public string Name
{
get { return _name; }
set { _name = value; }
}
private string _surname = "";
public string Surname
{
get { return _surname; }
set { _surname = value; }
}
private string _otchestvo = "";
public string Otchestvo
{
get { return _otchestvo; }
set { _otchestvo = value; }
}
public string Fio
{
get
{
string fio = Surname + " " + Name + " " + Otchestvo;
return fio;
}
}
public string FioInitials
{
get
{
string fio = Surname + " " + Name.Substring(0, 1) + ". " + Otchestvo.Substring(0, 1) + ".";
return fio;
}
}
// конструктор, специальная функция, которая вызывается при создани экземпляра класса с помощью слова new
public Person(string surname, string name, string otchestvo)
{
Name = name;
Surname = surname;
Otchestvo = otchestvo;
}
public static string ClassDescription
{
get
{
return "Класс Person. Хранит данные о человеке.";
}
}
}
Обратите внимание, насколько проще стал код, в котором создаются и выводятся на экран люди.
Person person1 = new Person("Пушкин", "Александр", "Сергеевич");
Person person2 = new Person("Гончарова", "Наталья", "Николаевна");
System.Console.WriteLine(person1.Fio);
System.Console.WriteLine(person1.FioInitials);
System.Console.WriteLine(person2.Fio);
System.Console.WriteLine(person2.FioInitials);
System.Console.WriteLine(Person.ClassDescription);
System.Console.WriteLine(Person.ClassDescription);
В тестовом примере может показаться, что такое упрощение не стоит всей мороки с созданием класса и на самом деле является усложнением, но такое впечатление создается только из-за неестественной простоты самого тестового примера, реальные программы намного сложнее.