Учебно-методическое пособие для студентов и слушателей системы повышения



бет47/75
Дата16.03.2023
өлшемі1,62 Mb.
#74783
түріУчебно-методическое пособие
1   ...   43   44   45   46   47   48   49   50   ...   75
{
get { return (fam != "") ? fam : "неизвестный"; } // получение значения
set { fam = value.ToUpper(); } // установка значения
}

  1. Аналогичным образом инкапсулируем поле kurs. Защитим его от ввода

и хранения абсурдных значений. Например, при вводе чисел <1 или >4 в поле kurs будет сохранено значение 0 (поступай на подготовительный курс!). private int kurs;
public int Kurs
{
get { return kurs; }
set { kurs = (value<1 || value>4) ? 0 : value; } // установка значения
}

  1. На завершающем этапе заменим в конструкторе имена скрываемых

полей (с малой буквы) на имена открытых свойств (с большой буквы):
public Student(string fam, int kurs)
{ this.Fam = fam; this.Kurs = kurs;
Автоматически такая замена в конструкторе не производится, поскольку окончательное решение о правах доступа должен принимать программист.

  1. Протестируем окончательный вариант с разными параметрами.



Задания для самостоятельной работы



  1. Модифицируйте программу примера1 (сon231).

  2. Добавьте еще два поля: имя name и возраст age. Инкапсулируйте их, введя ограничения на возраст от 15 до 35 лет. Добавьте конструктор с четырьмя параметрами: public Student(string fam, string name, int kurs, int age).

Протестируйте программу, изменяя параметры инициализации, например;
Student st3 = new Student("Петров", "Петр", ‐7, 120); st3.ShowInfo();

  1. Создайте подсчет количества вызовов метода ShowInfo для каждого студента. Для этого добавьте поле id и задайте метод доступа к нему только для чтения (есть только get):

private int id = 300;
public int Id { get { return id++; } }
Протестируйте окончательный вариант, повторяя инициализацию.

  1. Создайте приложения, в которых определяются классы, поля, конструк- торы, создаются и инициализируются 2–3 объекта. Поля инкапсулируются. Информация выводится методом Show.

  2. Создается класс Avto с полями: марка автомобиля brand, цвет color, ско- рость skor. Поля инкапсулируются с ограничениями (скорость от 20 до 120 км/ч).

  3. Создается класс Kadry с полями: фамилия fam, возраст age, должность dol, стаж staj. Поля инкапсулируются с ограничениями (возраст от 16 до 60, стаж от 0 до 45).

  4. Создается класс Computer с полями: модель model, объем ОЗУ ram и жесткого диска hdd. Поля инкапсулируются с ограничениями (объем ОЗУ от 2 до 32 Гбайт, жесткого диска от 200 до 2000 Гбайт.

  5. *Создается класс Tovar с полями: название name, цена price, количество kvo. Поля инкапсулируются с ограничениями (цена от 1 до 20, количество от 0 до 10). Вычисляется стоимость заказанного товара каждого вида и всего заказа.





    1. Достарыңызбен бөлісу:
1   ...   43   44   45   46   47   48   49   50   ...   75




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет