Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 11.11.2018, 03:22   #1
Haberman
 
Регистрация: 01.05.2018
Сообщений: 4
Репутация: 10
Вопрос Что нужно добавить чтоб потомок 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, 03:38   #2
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,398
Репутация: 3353

icq: 512-765
skype: alexp.frl
По умолчанию

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

Для просто получения класса можно ClassType использовать http://docs.embarcadero.com/products...ClassType.html
Alex11223 на форуме   Ответить с цитированием
Старый 11.11.2018, 16:50   #3
Black Fregat
Программист
Профессионал
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,145
Репутация: 840
По умолчанию

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

icq: 512-765
skype: alexp.frl
По умолчанию

Цитата:
Сообщение от Black Fregat Посмотреть сообщение
Это один из принципов ООП
Это принцип наследования, а не ООП.
ООП может быть без наследования.
Alex11223 на форуме   Ответить с цитированием
Старый 11.11.2018, 21:12   #5
Black Fregat
Программист
Профессионал
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,145
Репутация: 840
По умолчанию

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TPanel Elock Lazarus, Free Pascal, CodeTyphon 3 03.01.2018 23: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


22:48.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru