![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 5 Всего: 29 |
МДа
|
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
Vyacheslav
Давай еще вопросы -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
а я бы вообще сделал
Это сообщение отредактировал(а) chaos - 22.7.2005, 10:32 |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
По ООП: есть два класса А и B. Нужен третий класс С, обладающий свойствами как одного так и другого. Задачу можно решить используя наследование или агрегацию. На конечный результат не повлияет. Что использовать предпочтительнее и почему?
Добавлено @ 10:38 chaos Ты поменял МОЙ код, тем самым проявив ко мне неуважение как интервьюеру Насчет числа, я конечно зря написал от балды. Просто посчитал, что это несущественно. Лучше было поставить переменную -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
извени! это я так просто ради смеху написал |
|||
|
||||
| Mayk |
|
||||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
Не уверен, но кажется наследование. Множественное. Исхожу из расчётов, что так писать короче:
-------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
||||
|
|||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
Результат? Добавлено @ 10:52 Mayk При проектировании систем не всегда исходят, из того что короче. Я бы за ответ поставил минус. -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
Не понял... Разве Mayk не правильно записал?
|
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
Результат? -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
Ладно, потом скажешь правильный ответ? -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
а уменя свое мнение:
определяться с выбором нужно исходя из конкретной задачи. на выбор может оказать влияние знание не только имеющейся задачи и ее целей, но и последующих перспектив работы Это сообщение отредактировал(а) chaos - 22.7.2005, 11:06 |
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
там вроде выйдет A A B B да? |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
Если для получения конечного результата можно применить либо наследование, либо агрегацию, то предпочтительнее выбрать агрегацию, хотя это будет более геморойный для кодировщика путь. При проектировании системы нужно исходить из того, что бы взаимосвязь между компонентами системы( сцепление) была как можно слабее. Агрегация является более слабой связью по сравнению с наследованием. Наследование в данном случае надо применять, если требуется, что бы экземпляр класса С мог вести себя и как экземпляр класса А и как класса B( при решении задачи будет использоваться полиморфизм как для А так и для B). Что самое интересное, если я бы привел конкретный пример, то получил бы правильный ответ: например есть Человек и есть Адрес. Нужен Человек_с_Адресом. Если применить наследование, то задача будет также решена, но в этом случае мы получим скорее ЧеловекоАдрес -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
но все же я бы выбрал АГРЕГИРОВАНИЕ, тк я наверное потом если надо могу перейти в наследованию
Добавлено @ 11:12 могу немного повториться или когонить повторить Если нужно сделать несколько объектов, которые различаются несущественно и имеют массу общего, то хорошим выбором может быть использование агрегирования свойств и изменения необходимых функций с учетом их состояния. Если архитектура программы по своему строению использует массу объектов, которые видны этой архитектуре совершенно безотносительно свойств, которыми они различаются, и методы, которыми эти объекты различаются, существенны, то скорее всего следует выбрать путь наследования. |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
Результат? -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |