Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 2
Регистрация: 17.12.2014
Сообщений: 75
1

Изменить класс Worker

20.09.2017, 16:21. Показов 1045. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В класс Worker добавить поле СТАЖ и ввести специальные функции для записи возраста и стажа. Функции будут, в частности, проверять правильность вводимой информации.
Например, ясно, что возраст у работника не может быть отрицательным или большим 100.
Изменить класс Worker так, чтобы не нарушался принцип инкапсуляции.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication24
{
    class Worker
    {
          public int age = 0;
          public int stage = 0;
          public string name; 
          public Worker(int age, int stage, string name)
          {
              if (age>0 && age<100)
                this.age = age;
              else 
                  this.age = 0;
              this.stage = stage;
              this.name = name;
 
          }
        public Worker()
        {
            this.age = 0; 
            this.stage = 0;
            this.name = "";
 
        }
 
    }
 
 
 
    class Program
    {
        static void Main(string[] args)
        {
            Worker wr = new Worker (29,2, "Bob");
            Console.WriteLine(wr.name + ",Возраст:" + wr.age + ",Стаж" + wr.stage);
 
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.09.2017, 16:21
Ответы с готовыми решениями:

Создать класс Worker
Доброго времени суток! Есть такая задачка: создать класс Worker с полями, задающими фамилию...

Описать класс Worker
Разработать класс для описанных ниже объектов. Включить в класс методы set (...), get (...), show...

Класс worker и work
Я создала класс worker. В нем есть поля имя фамилия возраст и id. И есть класс work. Он должен...

Разработать класс Worker (сотрудник)
Добрый день.Задали мне задание 1. Разработать класс на языке C# в соответствии с вариантом...

4
112 / 99 / 80
Регистрация: 30.12.2015
Сообщений: 230
20.09.2017, 16:56 2
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using System;
 
namespace ConsoleApplication24
{
    class Worker
    {
        public int Age { get; private set; }
        public int Stage { get; private set; }
        public string Name { get; private set; }
        public Worker(int age = 0, int stage = 0, string name = "")
        {
            if (age > 0 && age < 100)
                this.Age = age;
            else
                this.Age = 0;
            this.Stage = stage;
            this.Name = name;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Worker wr = new Worker(29, 2, "Bob");
            Console.WriteLine(wr.Name + ",Возраст:" + wr.Age + ",Стаж" + wr.Stage);
 
        }
    }
}
0
0 / 0 / 2
Регистрация: 17.12.2014
Сообщений: 75
20.09.2017, 17:33  [ТС] 3
Dekap, Можешь объяснить, что делает get и private set, только начал изучать классы, пока что не сильно разбираюсь.
0
112 / 99 / 80
Регистрация: 30.12.2015
Сообщений: 230
20.09.2017, 17:38 4
DMTRB, Это свойства. Задать значение ты можешь только из класса Worker, а посмотреть откуда угодно
0
3560 / 2501 / 1174
Регистрация: 14.08.2016
Сообщений: 8,206
20.09.2017, 19:52 5
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace ConsoleApplication6
{
    public class Worker
    {
        private int _age;
        private int _stage;
        public string Name { get; set; }
 
        public int Age
        {
            get { return _age; }
            set
            {
                if(value > 0 && value < 100) _age = value;
                else throw new ArgumentException("invalid age");
            }
        }
 
        public int Stage
        {
            get { return _stage; }
            set
            {
                if(value > 0 && value < 100 && Age > value) _stage = value;
                else throw new ArgumentException("invalid stage");
            }
        }
        public Worker(int age, int stage, string name)
        {
            Age = age;
            Stage = stage;
            Name = name;
        }
        public override string ToString()
        {
            return $"{Name} is {Age} years old and have {Stage} years of working stage";
        }
 
    }
    public class Program
    {
 
        public static void Main()
        {
            Worker wr = new Worker(29, 2, "Bob");
            Console.WriteLine(wr.ToString());
            try
            {
                Worker errorWr1 = new Worker(-1, 2, "error");
            }
            catch(Exception e)
            {
                Console.WriteLine(e.Message);
            }
 
        }
    }
}
0
20.09.2017, 19:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.09.2017, 19:52
Помогаю со студенческими работами здесь

Определить класс с именем WORKER
Помогите пожалуйста 1. Определить класс с именем WORKER, содержащий следующие поля: - фамилия и...

Класс task и background worker
У нас есть приложение с пользовательским интерфейсом. Во время работы приложения происходят...

Создать базовый класс Worker, организовать расчёт заработной платы
Помогите пожалуйста с заданием. Я создал сами классы, но я не понимаю как вывести сведения об...

Создать абстрактный класс Worker с полями, задающими фамилию работника
Создать абстрактный класс Worker с полями, задающими фамилию работника, фамилию руководителя,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru