Обучение Инкапсуляция (Эндрю Троелсен 214стр) Зачем get{} set[]!? - C#
Формулировка задачи:
Есть класс Employee в нем нужно как то прописать год так
Что бы можно было выводить
Я сделал тупо просто задавать возраст Joe.GetAge = 23; и проверку.
И вообше я не понимаю НА** это надо когда можно сделать такие же переменные в основной ветке Маин и через них уже работать, Зачем нужен этот класс Employee мы в нем просто 2ой раз перезадаем эту переменную.
2й день читаю эту главу про инкапсуляции и не вижу выгодной пользы от него.
Зачем?
если можно просто сделать public int Method() и без этих get set.
Employee joe = new Employee(); joe.Age++;
public int ID
{
get{}
set{}
}class Employee
{
private string fullName;
private int empID;
private float currPay;
private int empAge;
public Employee()
{
}
public Employee(string fullName,int age, int empID, float currPay)
{
this.fullName = fullName;
this.empID = empID;
this.currPay = currPay;
this.empAge = age;
}
public int ID
{
get{return empID;}
set{empID = value;}
}
public string fullname
{
get{ return fullName;}
set{ fullName = value;}
}
public float Pay
{
get{ return currPay;}
set{currPay = value;}
}
public int GetAge
{
get{ return empAge;}
set{ if(value <= 100) empAge = value;}
}
public void GiveBonus(float amount)
{
currPay += amount;
}
public void DisplayStats()
{
Console.WriteLine("Имя: {0}\nЗ/п: {1}\nКод: {2}\nВозраст: {3}", fullName,currPay,empID,empAge);
Console.WriteLine();
}
}public static void Main(string[] args)
{
string name = "";
Employee Joe = new Employee();
Console.Write("Введите возраст: ");
Joe.GetAge = Convert.ToInt16(Console.ReadLine());
Console.Write("Введите имя: ");
name = Console.ReadLine();
Joe.fullname = name;
Joe.ID = 228;
Joe.Pay = 2000;
Joe.DisplayStats();
Console.ReadKey();
}
Бомбит уже от того что туплю в эту страницу уже 2ой день и не понимаю.
Решение задачи: «Обучение Инкапсуляция (Эндрю Троелсен 214стр) Зачем get{} set[]!?»
textual
Листинг программы
Employee joe = new Employee(); joe.Age++;