Переключение на Главную Страницу Страницы: 1 [2] 3 4  ОтправитьПечать
Очень популярная тема (более 25 ответов) Ромбовидное наследование (число прочтений - 24262 )
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ромбовидное наследование
Ответ #15 - 06. Июня 2006 :: 13:39
Печать  
Bess_Tolkovaia писал(а) 06. Июня 2006 :: 13:39:
А как правильно?

Утконос: ЖивоеСущество.
  
Наверх
www  
IP записан
 
Bess_Tolkovaia
Junior Member
**
Отсутствует


Натуральная блондинка,
1 штука

Сообщений: 89
Местоположение: Минск, РБ
Зарегистрирован: 26. Мая 2006
Пол: Женский
Re: Ромбовидное наследование
Ответ #16 - 06. Июня 2006 :: 13:46
Печать  
В этом случае свойство (или как это правильно назвать? ) - кормление_дитенышей_молоком() придется определять и для класса "млекопитающее", и для класса "утконос". А метод откладыватьЯйца() - для классов "Птица" и для "Утконос"

Если следовать принципу, на который сслыются в статье http://skipy.dev.juga.ru/philosophy/inheritance.html (тут где-то уже была ссылка на эту статью), то в моем варианте все правильно
Утконос ЯВЛЯЕТСЯ млекопитающим и утконос ЯВЛЯЕТСЯ птицей. ИМХО.
  
Наверх
ICQ  
IP записан
 
Pelmen
Full Member
***
Отсутствует



Сообщений: 242
Зарегистрирован: 01. Июня 2006
Пол: Мужской
Re: Ромбовидное наследование
Ответ #17 - 06. Июня 2006 :: 13:50
Печать  
Bess_Tolkovaia писал(а) 06. Июня 2006 :: 13:46:
В этом случае свойство (или как это правильно назвать? ) - кормление_дитенышей_молоком() придется определять и для класса "млекопитающее", и для класса "утконос". А метод откладыватьЯйца() - для классов "Птица" и для "Утконос"

Если следовать принципу, на который сслыются в статье http://skipy.dev.juga.ru/philosophy/inheritance.html (тут где-то уже была ссылка на эту статью), то в моем варианте все правильно
Утконос ЯВЛЯЕТСЯ млекопитающим и утконос ЯВЛЯЕТСЯ птицей. ИМХО.


тут будем использовать паттерн стратегия
  
Наверх
 
IP записан
 
Bess_Tolkovaia
Junior Member
**
Отсутствует


Натуральная блондинка,
1 штука

Сообщений: 89
Местоположение: Минск, РБ
Зарегистрирован: 26. Мая 2006
Пол: Женский
Re: Ромбовидное наследование
Ответ #18 - 06. Июня 2006 :: 13:54
Печать  
Pelmen писал(а) 06. Июня 2006 :: 13:50:
тут будем использовать паттерн стратегия


Ой. А это как? Круглые глаза если можно объяснить на пальцах...
  
Наверх
ICQ  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ромбовидное наследование
Ответ #19 - 06. Июня 2006 :: 14:18
Печать  
У меня встречный вопрос.
Дельфин: Рыба, Млекопитающее
по-вашему нормально?
С китом та же ерунда...
  
Наверх
www  
IP записан
 
Bess_Tolkovaia
Junior Member
**
Отсутствует


Натуральная блондинка,
1 штука

Сообщений: 89
Местоположение: Минск, РБ
Зарегистрирован: 26. Мая 2006
Пол: Женский
Re: Ромбовидное наследование
Ответ #20 - 06. Июня 2006 :: 14:26
Печать  
fez писал(а) 06. Июня 2006 :: 14:18:
У меня встречный вопрос.
Дельфин: Рыба, Млекопитающее
по-вашему нормально?
С китом та же ерунда...


Неа, дельфин не рыба. Он икру не мечет, жабрами не дышит. Какая ж он рыба? Про кита - то же самое.
  
Наверх
ICQ  
IP записан
 
Pelmen
Full Member
***
Отсутствует



Сообщений: 242
Зарегистрирован: 01. Июня 2006
Пол: Мужской
Re: Ромбовидное наследование
Ответ #21 - 06. Июня 2006 :: 14:29
Печать  
Bess_Tolkovaia писал(а) 06. Июня 2006 :: 13:54:
Pelmen писал(а) 06. Июня 2006 :: 13:50:
тут будем использовать паттерн стратегия


Ой. А это как? Круглые глаза если можно объяснить на пальцах... 


И утконос и птица агрегирует объект яйценесущее
И утконос и животное агрегируют объект млекопитающее
  
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ромбовидное наследование
Ответ #22 - 06. Июня 2006 :: 14:31
Печать  
Bess_Tolkovaia писал(а) 06. Июня 2006 :: 14:26:
fez писал(а) 06. Июня 2006 :: 14:18:
У меня встречный вопрос.
Дельфин: Рыба, Млекопитающее
по-вашему нормально?
С китом та же ерунда...

Неа, дельфин не рыба. Он икру не мечет, жабрами не дышит. Какая ж он рыба? Про кита - то же самое.

Ну как это, "какая ж он рыба"? В воде плавает, хвост, плавники - в наличии... По мне, так рыба, да и только.

Может быть просто ввести понятие "водоплавающее млекопитающее"? И тогда станет ясно, что утконос - это просто "яйцекладущее млекопитающее".
  
Наверх
www  
IP записан
 
Pelmen
Full Member
***
Отсутствует



Сообщений: 242
Зарегистрирован: 01. Июня 2006
Пол: Мужской
Re: Ромбовидное наследование
Ответ #23 - 06. Июня 2006 :: 14:37
Печать  
fez писал(а) 06. Июня 2006 :: 14:31:
Может быть просто ввести понятие "водоплавающее млекопитающее"? И тогда станет ясно, что утконос - это просто "яйцекладущее млекопитающее".

А про клюв забыл? Нерешительный
  
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ромбовидное наследование
Ответ #24 - 06. Июня 2006 :: 14:40
Печать  
Pelmen писал(а) 06. Июня 2006 :: 14:37:
fez писал(а) 06. Июня 2006 :: 14:31:
Может быть просто ввести понятие "водоплавающее млекопитающее"? И тогда станет ясно, что утконос - это просто "яйцекладущее млекопитающее".

А про клюв забыл? Нерешительный

Яйцекладущее млекопитающее с клювом.
У него еще и яйца не скорупчатые, а кожистые. И клюв, кстати, тоже мягкий. Так что такое извращение и заново описать не грех.
  
Наверх
www  
IP записан
 
Bess_Tolkovaia
Junior Member
**
Отсутствует


Натуральная блондинка,
1 штука

Сообщений: 89
Местоположение: Минск, РБ
Зарегистрирован: 26. Мая 2006
Пол: Женский
Re: Ромбовидное наследование
Ответ #25 - 06. Июня 2006 :: 14:42
Печать  
fez писал(а) 06. Июня 2006 :: 14:31:
Bess_Tolkovaia писал(а) 06. Июня 2006 :: 14:26:
fez писал(а) 06. Июня 2006 :: 14:18:
У меня встречный вопрос.
Дельфин: Рыба, Млекопитающее
по-вашему нормально?
С китом та же ерунда...

Неа, дельфин не рыба. Он икру не мечет, жабрами не дышит. Какая ж он рыба? Про кита - то же самое.

Ну как это, "какая ж он рыба"? В воде плавает, хвост, плавники - в наличии... По мне, так рыба, да и только.

Может быть просто ввести понятие "водоплавающее млекопитающее"? И тогда станет ясно, что утконос - это просто "яйцекладущее млекопитающее".


Ммм.... нет млекопитающих, кроме утконоса, которые несут яйца. Это чисто птичье свойство...
А вот кроме дельфина в воде плавают и кит, и другие - так что тут как раз класс "водоплавающее млекопитающее" подойдет. С моей точки зрения, специфические свойства класса "рыба" - это жабры и икра. "Млекопитающее" - это выкармливание дитенышей молоком.
  
Наверх
ICQ  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ромбовидное наследование
Ответ #26 - 06. Июня 2006 :: 14:43
Печать  
Bess_Tolkovaia писал(а) 06. Июня 2006 :: 14:42:
Ммм.... нет млекопитающих, кроме утконоса, которые несут яйца. Это чисто птичье свойство...

Черепаха с крокодилом тоже птицы?
  
Наверх
www  
IP записан
 
Bess_Tolkovaia
Junior Member
**
Отсутствует


Натуральная блондинка,
1 штука

Сообщений: 89
Местоположение: Минск, РБ
Зарегистрирован: 26. Мая 2006
Пол: Женский
Re: Ромбовидное наследование
Ответ #27 - 06. Июня 2006 :: 14:44
Печать  
Pelmen писал(а) 06. Июня 2006 :: 14:29:
Bess_Tolkovaia писал(а) 06. Июня 2006 :: 13:54:
Pelmen писал(а) 06. Июня 2006 :: 13:50:
тут будем использовать паттерн стратегия


Ой. А это как? Круглые глаза если можно объяснить на пальцах...  


И утконос и птица агрегирует объект яйценесущее
И утконос и животное агрегируют объект млекопитающее


А можно немножко подробнее про агрегацию в принципе? Когда я (достаточно давно) немного занималась ООП, было "наследование" и "полиморфизм", а "агрегирование" к сожалению мне не известно.  Интуитивно я что-то понимаю, но хотелось бы понимать осознано.
  
Наверх
ICQ  
IP записан
 
Bess_Tolkovaia
Junior Member
**
Отсутствует


Натуральная блондинка,
1 штука

Сообщений: 89
Местоположение: Минск, РБ
Зарегистрирован: 26. Мая 2006
Пол: Женский
Re: Ромбовидное наследование
Ответ #28 - 06. Июня 2006 :: 14:46
Печать  
fez писал(а) 06. Июня 2006 :: 14:43:
Bess_Tolkovaia писал(а) 06. Июня 2006 :: 14:42:
Ммм.... нет млекопитающих, кроме утконоса, которые несут яйца. Это чисто птичье свойство...

Черепаха с крокодилом тоже птицы?

Хм... ну ладно, пусть тогда будет так:

базовый класс Живое существо

Млекопитающее : Живое существо
Яйцекладущее: Живое существо

Утконос: Млекопитающее, Яйцекладущее
  
Наверх
ICQ  
IP записан
 
Pelmen
Full Member
***
Отсутствует



Сообщений: 242
Зарегистрирован: 01. Июня 2006
Пол: Мужской
Re: Ромбовидное наследование
Ответ #29 - 06. Июня 2006 :: 14:46
Печать  
Bess_Tolkovaia писал(а) 06. Июня 2006 :: 14:44:
Pelmen писал(а) 06. Июня 2006 :: 14:29:
Bess_Tolkovaia писал(а) 06. Июня 2006 :: 13:54:
Pelmen писал(а) 06. Июня 2006 :: 13:50:
тут будем использовать паттерн стратегия


Ой. А это как? Круглые глаза если можно объяснить на пальцах... 


И утконос и птица агрегирует объект яйценесущее
И утконос и животное агрегируют объект млекопитающее


А можно немножко подробнее про агрегацию в принципе? Когда я (достаточно давно) немного занималась ООП, было "наследование" и "полиморфизм", а "агрегирование" к сожалению мне не известно.


Агрегация включение объекта в состав другого, значением либо по ссылке
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 3 4 
ОтправитьПечать