Обучение Инкапсуляция (Эндрю Троелсен 214стр) Зачем get{} set[]!? - C#

Узнай цену своей работы

Формулировка задачи:

Есть класс Employee в нем нужно как то прописать год так Что бы можно было выводить
Employee joe = new Employee();
joe.Age++;
Я сделал тупо просто задавать возраст Joe.GetAge = 23; и проверку. И вообше я не понимаю НА** это надо когда можно сделать такие же переменные в основной ветке Маин и через них уже работать, Зачем нужен этот класс Employee мы в нем просто 2ой раз перезадаем эту переменную. 2й день читаю эту главу про инкапсуляции и не вижу выгодной пользы от него. Зачем?
public int ID
        {
            get{}
            set{}
        }
если можно просто сделать public int Method() и без этих 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++;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.933 из 5