![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
Saule |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 13.11.2006 Репутация: нет Всего: нет |
Help!
Здравствуйте все, не могли бы вы мне помочь? Я уже не знаю к кому обратиться, вся надежда только на вас. Была бы оч. оч. благодарна! Я в си шарпе новичок, а задание надо сделать ![]() А дело в том, что есть такое задание - Допустим есть лиственные и хвойные деревья. Есть клены, ели и липы. Клены-допустим шумят, елки-зеленеют, липы-роняют листья. Не обращайте внимание на абсурдность, это просто, чтобы было яснее, таким чайникам как я ![]() Так вот надо написать програмку, используя интерфейсы и наследование, чтобы сделать так - елка была лиственной. Спасибо зараннее за помощь, очень надеюсь и жду ответов, или просто советов по этому вопросу |
|||
|
||||
nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 4 Всего: 26 |
Saule, извиняюсь, но
мне как не старайся не понять ![]() Дайте пожалуйста задание в оригинале, а ту имхо ничего не ясно ![]() ЗЫ Saule, если вы поместили топик в этой ветке , то за вас никто писать код целиком не будет. Если же вы хотите готовый код, то надо писать в Центр помощи -------------------- Жизнь - печальная штука. |
|||
|
||||
SeekerMan |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 17.10.2006 Репутация: нет Всего: нет |
Бьюсь в истерике.
![]() ![]() |
|||
|
||||
Saule |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 13.11.2006 Репутация: нет Всего: нет |
Мне не надо всего кода, просто хотя бы шаблон какой, или пару советов ) Я просто не знаю.... Дано такое задание, примерно. И вот надо сделать елку лиственной, а я без понятия... вот и .. написала, сама не знаю чего
![]() |
|||
|
||||
SeekerMan |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 17.10.2006 Репутация: нет Всего: нет |
Давай полный текст задания. Ты что-то упускаешь, а нам так очень тяжело понять. Поэтому и получется так смешно.
|
|||
|
||||
ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
Saule, полная иерархия классов выглядит так: Дерево _________|___________ | | ЛиственноеДерево ХвойноеДерево Так? Если елки еще нет, то для того чтобы елка стала лиственной нужно наследовать ее от класса ЛиственноеДерево:
|
|||
|
||||
nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 4 Всего: 26 |
ivashkanet, жжошь
![]() -------------------- Жизнь - печальная штука. |
|||
|
||||
Saule |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 13.11.2006 Репутация: нет Всего: нет |
ivashkanet, наверное что-то похожее. Но здесь надо еще как-то использовать интерфейсы, и наследование....
![]() Всем спасибо за участие |
|||
|
||||
nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 4 Всего: 26 |
![]() ![]() Это то же самое, что шушпанчика сделать СРУКОМ!!!!! ![]() Это сообщение отредактировал(а) nikitao - 13.11.2006, 16:26 -------------------- Жизнь - печальная штука. |
|||
|
||||
thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 6 Всего: 65 |
Saule,
Привет, прекрасная незнакомка. ![]() По поводу наследования, ivashkanet четко написал в коде какой класс от какого наследуется. public class ЛиственноеДерево : Дерево Значёк двоеточия и обозначает что класс "Лиственное дерево" наследует свойства и методы класса "Дерево". А что касается интерфейса, то посмотри тут -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
ivashkanet |
|
||||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
По делу:
С наследованием мы разобрались (вернее у нас есть код ![]() Будем разбираться с интерфейсами: Судя по логике: "умею шуметь", "умею зеленеть", "умею ронять листья" --- это интерфейсы (т.е. дополнительная функциональность, которую хочется реализовать в классе) Определяем их:
Теперь если мы хотим чтобы наша Елка (которая лиственная) "научилась" зеленеть (как по условию), то нужно в нашем классе объявить и реализовать интерфейс IЗеленеющий:
Заметь, что при наследовании класса все свойства и методы родителя переходят его потомку (как коллекцияЛистьев из класса дерева перешла в класс Ели). В наследовании (чаще говорят реализации) интерфейса приходиться реализовывать все методы интерфейса (в нашем случае возможность зеленеть). Не совсем по делу: nikitao, это называется абстракция. Ведь с чего ты взял, что Елка не лиственная????? То что в твоем (нашем) мире это так? Ну и что ![]() Компьютер ведь не живет в нашем мире, он не знает, что "Ель не может быть лиственной" ![]() Он целиком полагается на нас ![]() С другой стороны. Часто в компьютерном мире нет аналогии с реальным, поэтому приходится придумывать такие объекты, на основе ОБЩИХ ЛОГИК, а не нашей, человеческой. И лиственная елкаочень полезная задачка для раскрепощения нашего разума. Она позволяет забыть, отказаться, вычеркнуть реальную аналогию из нашего мозга для решения задачи. И т.д. |
||||
|
|||||
nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 4 Всего: 26 |
Вот мое мнение по поводу понятия
Я понимаю вообще это так. У нас есть обьект типа Елка,которая в свою очередь является наследником типа Дерево и реализует интерфейс IЗелеящий ( все как и описывал ivashkanet ![]() ![]() ![]() -------------------- Жизнь - печальная штука. |
|||
|
||||
ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
А почему бы просто не попросить задание выполнится? Приводить к типу можно только объект, который передается по ссылке родительского типа Пример: Родитель --> Наследник --> НаследникНаследника и отдельно стоит СовсемПостореннийОбъект. Так вот, если ссылка родительского типа указывает на Наследник, то ее можно привести и к Наследнику и но никак не к НаследникуНаследника или к СовсемПостореннемуОбъекту:
Тоже самое касается интерфейсов, учитывая что они являются частным случаем родителя. P.S. По идее, объект ссылку на класс НаследникНаследника можно привести как к НаследникНаследника так и к Наследник. |
|||
|
||||
nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 4 Всего: 26 |
ivashkanet,
Дык , а что мешает реализовать приведение типа в классах? ![]() ЗЫ Не честно, не пойму о чем разговор идет. Это как говорится рассматриваем сферического коня в вакууме ![]() -------------------- Жизнь - печальная штука. |
|||
|
||||
Saule |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 13.11.2006 Репутация: нет Всего: нет |
Зайцы родные, всем спасибо за помощь и за участие. Безумно вам благодарна и шлю вам многочисленные "cпасибо". Все прошло отлично, без инфарктов и обомороков. Зачет сдан, сдан на 9.
Еще раз спасибо ![]() |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |