| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > создание класса |
| Автор: kuzyara 29.10.2009, 20:11 | ||
| Я хочу создать массив переменных типа TIntegerList (такой есть в http://www.codenet.ru/progr/delphi/stat/AcedUtils.php в AcedContainers). Но так как ооп это хорошо, хочу сделать это на подобии TStringList, ну чтобы там add, count, delete ... вот что я смог написать:
это я скопировал из TList и заменил Pointer на TIntegerList. Но ведь это влекёт за собой и описание FCount, SetCount из property Count, и т.д. Неужели чтобы создать список не из строк, а из TIntList, придется переписывать весь класс? Всё же одинаковое... Как облегчить себе участь? Спасибо. зы: знаете какой-нибудь хороший материал про то, чем protected отличается от private, а override от overload? |
| Автор: Beltar 30.10.2009, 08:25 | ||||||
| 1) На кой фиг тебе вообще даже знать как там устроено Count? Его родной функционал тебя не устраивает? 2) Что-то я не понял архитектуры. Тебе нужно создать список переменных, что наиболее вероятно, или список массивов, как я понял из кода? 3)
А причем тут вообще TStringList? Ты же сам TList используешь.
private это кишки, а protected все то, что в дальнейшем может быть перекрыто в наследниках. Собственно все компоненты VCL наследуются так (на примере TreeView): TCustomControl->TCustomTreeView (полнофункциональное дерево, но все его члены имеют видимость не выше protected) ->TTreeView (все члены, которые должны быть доступны вынесены в public и published). Если понадобиться наследник у которого какое-то свойство д/б недоступным (например, можно набор меток сделать, которые бы имели свойство Value разных типов и выводили бы его строковое значение, в этом случае тебе public\published Caption просто не нужен и даже вреден), то наследоваться надо не от конечного компонента, а от Custom'а.
Совершенно разные вещи, overload просто позволяет иметь несколько процедурок с одним именем, но разными параметрами. override перекрывает динамические или виртуальные методы. |
| Автор: MetalFan 30.10.2009, 12:54 |
| Beltar, а вообще, мое имхо, что автору надо почитать книжку по основам программирования в делфи, раз уж он override от overload не отличает... |
| Автор: Snowy 30.10.2009, 15:37 | ||
Если дельфи 2009 и выше, то создаётся в одну строчку
|