Звичайно при роботі з записами виникає проблема ініціалізації полів запису. Припустимо, наявна така структура
TStudent=OBJECT
Name:String[30];
Date:String[10];
Rate:Real;
END;
Початківці часто використовують оператор WITH для присвоєння полям Name, Date i Rate початкових значень
VAR
Student:TStudent;
…
WITH Student DO BEGIN
Name:=’Лящук Петро Павлович’;
Date:=’25.06.1995’;
Rate:=700;
END;
Такий метод буде коректним, але не ідеальним. Наприклад, при необхідності ініціалізувати більше одного запису типу TStudent доведеться використовувати кілька операторів WITH, які будуть виконувати одні і ті ж дії. Тому створимо ініціалізуючу процедуру, яка узагальнить застосування оператора WITH до будь-якого екземпляра типу TStudent, що передається в якості параметра.
Згідно з принципами ООП, включимо цю процедуру до складу об’єкту. Така процедура чи функція називається методом. В означення типу включається тільки заголовок методу. При визначенні методу він додатково ідентифікується іменем типу. Поля і методи є двома складовими частинами нової структури - об’єкта.
Type
TStudent=OBJECT
Name:String[30];
Date:String[10];
Rate:Real;
Procedure Init(Nm,Dt:String; RT:Real);
END;
Procedure TStudent.Init(Nm,Dt:String; RT:Real);
Begin
Name:=Nm;
Date:=Dt;
Rate:=Rt;
End;
Тепер для ініціалізації екземпляра типу TStudent достатньо просто викликати його метод
VAR
Student:TStudent;
Student.Init(‘Лящук Петро Павлович’,’25.06.1995’,700);