Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4]      все
 Re: Создание компонента сложной формы (аккуратной контурной стрелки).  [new]
ёёёёё
Member

Откуда:
Сообщений: 1273
Андрей Игоревич
ёёёёё
Автар, http://docwiki.embarcadero.com/RADStudio/Rio/en/Methods_(Delphi)#Final_Methods

Слегка не понял. Да и на 7ке, вроде, не работает, как я понимаю. Но поизучаю поподробнее.
...

"Запечатывание" виртуального метода, запрещающее перекрытие в наследнике.
Да, в 7-ке не работает.
18 окт 19, 18:19    [21997685]     Ответить | Цитировать Сообщить модератору
 Re: Создание компонента сложной формы (аккуратной контурной стрелки).  [new]
ёёёёё
Member

Откуда:
Сообщений: 1273
Андрей Игоревич
А, и ещё хотел спросить, можно ли сделать, что бы процедура/функция или свойство было доступно только для потомка (не глубже), а уже для основной программы всё было недоступно, кажется где-то я что-то такое видел...

Может быть, тебе protected члены нужны? http://www.delphibasics.ru/Protected.php
protected члены класса доступны в наследниках, но из других объектов - недоступны. Ну, кроме тех, которые в том же модуле (юните) находятся.
18 окт 19, 18:24    [21997688]     Ответить | Цитировать Сообщить модератору
 Re: Создание компонента сложной формы (аккуратной контурной стрелки).  [new]
alekcvp
Member

Откуда:
Сообщений: 1623
ёёёёё
alekcvp
strict protected?

Из другой оперы, немного.

ёёёёё
Может быть, тебе protected члены нужны? http://www.delphibasics.ru/Protected.php

WAT? O_o
18 окт 19, 18:39    [21997698]     Ответить | Цитировать Сообщить модератору
 Re: Создание компонента сложной формы (аккуратной контурной стрелки).  [new]
Андрей Игоревич
Member

Откуда:
Сообщений: 229
ёёёёё
Андрей Игоревич
А, и ещё хотел спросить, можно ли сделать, что бы процедура/функция или свойство было доступно только для потомка (не глубже), а уже для основной программы всё было недоступно, кажется где-то я что-то такое видел...

Может быть, тебе protected члены нужны? http://www.delphibasics.ru/Protected.php
protected члены класса доступны в наследниках, но из других объектов - недоступны. Ну, кроме тех, которые в том же модуле (юните) находятся.

Я вот всегда туплю в определении "наследник".

TClassB = class (TClassA)
   ClassD: TClassD;
End;

Вопрос - наследник/потомок это ClassB от ClassA или ClassD потомок от ClassB? Или тут более хитрая терминология. Просто в интернете и то и то видел как называют потомком.
В первом случае protected доступны, во втором нет.
18 окт 19, 18:55    [21997713]     Ответить | Цитировать Сообщить модератору
 Re: Создание компонента сложной формы (аккуратной контурной стрелки).  [new]
ёёёёё
Member

Откуда:
Сообщений: 1273
Андрей Игоревич
ёёёёё
пропущено...

Может быть, тебе protected члены нужны? http://www.delphibasics.ru/Protected.php
protected члены класса доступны в наследниках, но из других объектов - недоступны. Ну, кроме тех, которые в том же модуле (юните) находятся.

Я вот всегда туплю в определении "наследник".

TClassB = class (TClassA)
   ClassD: TClassD;
End;

Вопрос - наследник/потомок это ClassB от ClassA или ClassD потомок от ClassB? Или тут более хитрая терминология. Просто в интернете и то и то видел как называют потомком.
В первом случае protected доступны, во втором нет.


Класс TClassA - родитель класса TClassВ.
Класс TClassB - наследник класса TClassА.
Класс TClassB связан с классом TClassА отношением "наследование".

Объекта класса TClassD агрегирован в класс TClassB.
18 окт 19, 19:01    [21997715]     Ответить | Цитировать Сообщить модератору
 Re: Создание компонента сложной формы (аккуратной контурной стрелки).  [new]
Андрей Игоревич
Member

Откуда:
Сообщений: 229
ёёёёё
класса TClassD агрегирован в класс TClassB.

Жуть, первый раз вижу такой термин применительно к Delphi.
В общем я писал про доступность из агрегированных классов к процедурам ээ...ээ.. агрегатора?
И наоборот.

Хотя основной мой вопрос был, почему Inherites проскакивало через несколько наследников(тут всё корректно) сразу к Panel, может ли быть это связано с owner, который я не переприсваивал у потомков (обходясь parent).
18 окт 19, 19:12    [21997723]     Ответить | Цитировать Сообщить модератору
 Re: Создание компонента сложной формы (аккуратной контурной стрелки).  [new]
ёёёёё
Member

Откуда:
Сообщений: 1273
Андрей Игоревич
...почему Inherites проскакивало через несколько наследников...

Не было такого, "мамой клянусь".
18 окт 19, 19:23    [21997733]     Ответить | Цитировать Сообщить модератору
 Re: Создание компонента сложной формы (аккуратной контурной стрелки).  [new]
white_nigger
Member

Откуда: Тула
Сообщений: 2209
В общем случае мне больше нравятся термины: "унаследован от", "предок", "наследник"
19 окт 19, 22:27    [21998107]     Ответить | Цитировать Сообщить модератору
 Re: Создание компонента сложной формы (аккуратной контурной стрелки).  [new]
white_nigger
Member

Откуда: Тула
Сообщений: 2209
Андрей Игоревич
Ну так, в рамках развития потихоньку приучаю себя к культуре :), когда программа разрастается до очень больших размеров это очень помогает. Ну и очень помогает, когда свой код читаешь через некоторое время.
Это все жалкое подобие развитию при работе в команде - регулярное code review с обсуждением спорных мест и решений, плюс сразу можно оценить качество кода и стоимость поддержки. Если твой код будет прозрачен для других программистов - значит движение идет в правильном направлении.
19 окт 19, 22:37    [21998109]     Ответить | Цитировать Сообщить модератору
 Re: Создание компонента сложной формы (аккуратной контурной стрелки).  [new]
alekcvp
Member

Откуда:
Сообщений: 1623
Андрей Игоревич
Хотя основной мой вопрос был, почему Inherites проскакивало через несколько наследников(тут всё корректно) сразу к Panel

Единственное, что мне приходит в голову - это то, что где-то в этой цепочке у переопределения методов было пропущено слово override (при этом должно быть предупреждение от компилятора), в результате inherites обращался к последнему переопределённому методу, а не к этим.
20 окт 19, 13:18    [21998248]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4]      все
Все форумы / Delphi Ответить