Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Перегрузка методов

Основные положения объектно-ориентированного программирования | Принципы ООП | Элементы классов | Области видимости | Типы методов | Объявление и создание объекта | Уничтожение объекта | События. Взаимодействие объектов. | От структурированного программирования к ООП | Основные задачи структурного программирования |


Читайте также:
  1. IV. Установление методов и технологии ремонта ТС
  2. IX. Данные лабораторных и инструментальных методов исследования.
  3. Алгоритм выбора методов финансового оздоровления
  4. Анализ форм, средств, методов обучения на уроке (авторских методик)
  5. Влияние учения Сократа, Платона и Аристотеля на развитие методов ведения переговоров
  6. Вопрос 1. Понятие и классификация методов государственного управления
  7. Вопрос 3 - Типы производства и их количественная и качественная характеристика с точки зрения использования оборудования, оснастки, методов обработки и организации труда.

Подобно обычным процедурам и функциям, методы могут быть перегру­жены таким образом, чтобы класс содержал несколько методов с одним име­нем, но с различными списками параметров.

Перегруженные методы должны быть объявлены с указанием директивы overload. Вот пример объявления класса с перегруженными методами.

Type

TSomeClass = class

procedure AMethod(I: Integer); overload;

procedure AMethod(S: string); overload;

procedure AMethod(D: Double); overload;

end;

Дублирование имен методов

Иногда может понадобиться к одному из классов добавить метод, заме­щающий метод с тем же именем, но принадлежащий предку этого класса. В данном случае требуется не переопределить исходный метод, а полностью его заменить. Если просто добавить такой метод в новый класс, то компилятор выдаст предупреждение о том, что новый метод скрывает метод базового класса с тем же именем. Для устранения этой ошибки в новом методе укажи­те директиву reintroduce.

type

T1 = class(TObject)

procedure Test(I: Integer); overload; virtual;

end;

T2 = class(Tl)

procedure Test(S: string); reintroduce; overload;

end;

В следующем коде будут вызываться различные методы.

SomeObject:= Т2.Create;

SomeObject.Test('Hello!'); // вызывается T2.Test

SomeObject.Test(7); // вызывается Tl.Test


Дата добавления: 2015-07-25; просмотров: 84 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Переопределение методов| Свойства

mybiblioteka.su - 2015-2024 год. (0.005 сек.)