logo search
лаб

Лабораторная работа 36. Конструкторы и деструкторы

Добавим в класс открытые поля AgeMin, AgeMax, обозначающие минимальную

и максимальную границы допустимого возраста. Для реализации этой идеи в объявлении класса надо произвести следующие изменения в предыдущем проекте:

uses ..., DateUtils; type

TPerson = class private

protected

procedure SetYear(Value: word); // Процедура записи

public AgeMin, AgeMax: word;

property Year: word read FYear write SetYear; end;

Реализация процедуры записи SetYear может быть следующей: procedure TPerson.SetYear(Value: word);

//Процедура записи года рождения

var NowYear: word; begin

NowYear:= YearOf(Date);

if (NowYear - Value >= AgeMin) and

(NowYear - Value <= AgeMax) then

FYear:= Value else ShowMessage('Недопустимый год рождения '+IntToStr(Value));