Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 13.08.2015
Сообщений: 2
1

Наследование от двух классов

13.08.2015, 09:37. Показов 2209. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день.
Есть два компонента.
Первый это однострочный редактор с кнопкой для вызова диалогового окна, второй это комбобокс с фильтром.
Как на их основе сделать третий гибридный? Читал, что можно через интерфейсы, но не совсем разобрался. Хотелось бы узнать поподробнее.
Может посоветуете какую литературу. Спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.08.2015, 09:37
Ответы с готовыми решениями:

Наследование классов.
Здравствуйте, дорогие друзья. Моей сестре задали написать программу на Delphi, тема - наследование...

Наследование классов
У меня есть программа которая должна использовать наследование класса ! я не понимаю в чем ваще оно...

Наследование интерфейсных классов
Вопрос прост до чертиков, но подводные камни.......... Изначально - эта тема...

Наследование свойств и методов классов в Delphi
Не могу решить проблему с наследованием свойств и методов. Задача: Разработать консольное...

4
438 / 367 / 132
Регистрация: 09.09.2011
Сообщений: 1,334
13.08.2015, 11:37 2
Компонент это не тоже самое что и класс...

Очевидно, что наследование от 2 имеющихся классов в общем случае delphi не позволяет.
Так же очевидно, что гибридный компонент возможен, т.к. Вы сам приводите примеры гибридных компонентов, к примеру однострочный редактор с кнопкой очевидно состоит из компонентов TEdit, TButton и TFileOpenDialog.

Вам необходимо освоить такое понятие ООП, как агрегация. В большинстве случаев оно более уместно, чем наследование.

В качестве литературы советую книгу - Head First Design Patterns. Eric Freeman, Elisabeth Freeman
легко найти в интернете ее перевод - Паттерны проектирования. Фримен Эр., Фриман Эл.

примеры в книге на java - я в общем делал на object freepascal без проблем.
1
5786 / 4528 / 1431
Регистрация: 14.04.2014
Сообщений: 20,157
Записей в блоге: 20
13.08.2015, 11:50 3
вот компонент, содержащий кнопку и едит
Delphi
1
2
3
4
5
TMyComp = class(TGraphicControl)
public
  btn:TButton;
  edt:TEdit;
end;
в конструкторе создаем btn и edit, в деструкторе убиваем.
нужно будет правильно разместить объекты, придумать, что делать с фокусом. что будет происходить при изменении размера нового компонента.

в общем случае - откажитесь от этой идеи. Например, откройте для себя фреймы (только не создавайте их в design-time, это ведет к болям)...
0
0 / 0 / 0
Регистрация: 13.08.2015
Сообщений: 2
13.08.2015, 12:46  [ТС] 4
Kitayets, исчерпывающе. Спасибо, пойду курить инфу.
0
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
13.08.2015, 21:45 5
Цитата Сообщение от AlexGrind Посмотреть сообщение
Читал, что можно через интерфейсы, но не совсем разобрался
И через интерфейсы нельзя.
0
13.08.2015, 21:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.08.2015, 21:45
Помогаю со студенческими работами здесь

Создать иерархию классов представляющих простое наследование
Создать иерархию классов представляющих простое наследование. Базовый класс – матрица...

Найти площадь правильного шестиугольника, использовать наследование классов
Найти площадь правильного шестиугольника, использовать наследование классов.

Лабораторная работа: наследование классов
Кто сталкивался с таким заданием? Вариант 1 Создать абстрактный класс File,...

Наследование двух классов от базового. Отрисовка двух шариков, движущихся по синусоиде и косинусоиде
Здравствуйте, только начали изучать наследование, поэтому некоторые вещи непонятны. Задача в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru