КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Перевантажуємі методи
Методи класу. Цікавим нововведенням в Delphi є так звані методи класу, особливість яких полягає в тому, що для їх виклику немає необхідності створювати об'єкт (екземпляр класу), а можна використовувати їх як звичайні підпрограми. Для опису таких методів використовується ключове слово class перед заголовком методу: Туре <Ім’я класу> = class class <Заголовок метода>; <Опис метода класу> End;
При реалізації методів класу в описовій частині класу ключове слово class також вказується: class <Ім’я класа>.<3аголовок метода>; Методи класу застосовуються для створення бібліотек спеціалізованих методів, що не вимагають доступу до яких-небудь даними, які можуть зберігатися в межах обьекга. Як приклад наведемо опис класу MihdClass, метод Get: якого є методом класу (лістинг 2.2). Лістинг 2.2. Приклад опису методу класу unit OaclaringClaaaltathoda; Interface Type MthdClass = class class Function Get5: Double; End; Implementation class Function MthdClaaa. Get5: Integer; (Опис методу Gets класа MthdClass) Begin Result:=5; end; end. Для виклику методу класу потрібно вказати назву класу і назва методу зі списком необхідних параметрів. Назва класу і його метод розділяється крапкою: <Клас>.<Метод>(<Список параметрів»); Використання методу класу показано в наступному листингу 2.3. Листинг 2.3. Використання методу класу unit UsingClassMethods; Uses DeclaringClasaMethoda; (Під’єднуємо модуль DeclaringClassMethods, в якому описаний клас MthdClass) Interface Implementation Procedure UsingClaaa; {Опис процедури UsingClassI Var A: Integer; {Опис цілочисельної змінної A| Begin A:= MthdClasa. Get5; (Виклик метода класу по імені класу та метода, в змінну А заносится значення 5) end; end. Методи класу іноді називаються статичними методами. Перенавантажувані методи аналогічні перевантажується процедурам і име-ють такий же механнзм роботи. Приклад, можливість опису класу з перевантажується методами приведений в лістингу 2.4.
Лістинг 5.4. Опис класу з перевантажуємими методами Туре ACIass = class Function Mult (А, В: Integer): Integer; overload; (Заголовок метода Mult з двома цілочисельними параметрами, що повертає цілочисельне значення) Function Mult(A, В: Double): Double; overload; (Заголовок метода Mult з двома речовими параметрами, що повертає речове значення) end; Function ACIass.Mult(A, В: Integer): Integer; begin Result:=A*B; end; (Опис першого варіанту метода Multi Function ACIass.Mult(A, B: Double): Double; begin Result:=A*B; end; (Опис другого варіанту метода Mult)
Дата добавления: 2014-01-04; Просмотров: 283; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |