Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2018, 02:22   #1
Haberman
Форумчанин
 
Регистрация: 01.05.2018
Сообщений: 104
Вопрос Что нужно добавить чтоб потомок Tpanel перестал быть Tpanel

Код:
unit Kontainer;

interface

uses
  SysUtils, Classes, Controls, ExtCtrls,Graphics;

type
  TKonteiner = class(TPanel)
Код:
 Accept:=(Source is TPanel);
TKonteiner - он всё еще TPanel!
Haberman вне форума Ответить с цитированием
Старый 11.11.2018, 02:38   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

И? Все правильно, так и должно быть.

Для просто получения класса можно ClassType использовать http://docs.embarcadero.com/products...ClassType.html
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 11.11.2018, 15:50   #3
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Цитата:
Сообщение от Haberman Посмотреть сообщение
чтоб потомок Tpanel перестал быть Tpanel
Это невозможно. Это один из принципов ООП - потомок всегда является объектом базового класса. Если же Вам так нужно, чтобы он не был TPanel, не наследуйте его от TPanel, а используйте, например, агрегирование - сделаёте некоторую TPanel членом класса
Black Fregat вне форума Ответить с цитированием
Старый 11.11.2018, 15:57   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от Black Fregat Посмотреть сообщение
Это один из принципов ООП
Это принцип наследования, а не ООП.
ООП может быть без наследования.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 11.11.2018, 20:12   #5
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
ООП может быть без наследования
Не вижу причин спорить о словах в области, где даже авторитеты до сих пор ломают копья..
Сформулирую более узко: это один из принципов реализации ООП в Object Pascal - потомок всегда является объектом базового класса.
Black Fregat вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TPanel Elock Lazarus, Free Pascal, CodeTyphon 3 03.01.2018 22:00
TPanel OmegaBerkut Общие вопросы Delphi 1 22.05.2013 18:01
Tpanel Кристинка89 Общие вопросы Delphi 3 12.09.2011 13:42
Перестал работать плеер. Что может быть? infrared Софт 3 29.03.2010 13:01
TPanel Valera Помощь студентам 10 07.08.2008 11:15