|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
07.07.2018, 13:50 | #31 |
Форумчанин
Регистрация: 12.06.2018
Сообщений: 831
|
|
07.07.2018, 13:51 | #32 |
Форумчанин
Регистрация: 12.06.2018
Сообщений: 831
|
|
07.07.2018, 13:57 | #33 |
Форумчанин
Регистрация: 12.12.2010
Сообщений: 205
|
|
07.07.2018, 14:21 | #34 |
Форумчанин
Регистрация: 12.06.2012
Сообщений: 110
|
Да вас никто и ни в чем не обвинят. Если учитесь - это хорошо.
Попробуйте разобрать этот пример. Не могу сказать что он идеальный. Но как проще объяснить я не знаю. Код:
|
08.07.2018, 15:53 | #35 |
Сама себе режиссер
Старожил
Регистрация: 27.04.2007
Сообщений: 3,365
|
Ох, ну не знаю. На логгировании я бы тоже, наверное, не поняла.
Интерфейсы нужны для вычленения общих признаков. Например, издавать звуки умеет человек и собака. Вы обоим классам пишите метод ИздаватьЗвуки - и радуетесь. Представьте, что 100 человек и 100 собак собрались в одной комнате и хотят "поговорить". Какое первое решение? Создать массив люди и массив собаки, прокрутить каждый в цикле и вызвать ИздаватьЗвуки у каждого элемента. А теперь представим, что у нас есть еще попугайчики, кролики, кошки, бегемоты, слонопотамы. Это ж сколько придется делать массивов, чтобы у всех повызывать функцию ИздаватьЗвуки? А если каждые два дня заказчик добавляет еще одного животного, вам придется каждые два дня переписывать код, добавляя массив? Дальше мы должны понять, что нам не мешало бы иметь всего один массив на всех издающих звуки. Но мы не можем засунуть в один массив разные типы данных. Мы вспоминаем, что есть наследование и создаем класс ИздающиеЗвуки, от которого наследуем наших кошек-собак-человеков и т.д. Итак, у нас есть один массив на всех, нам не страшно добавление новых элементов. Но приходит заказчик и говорит, хочу, мол, чтобы наши объекты пошли на стадион и попрыгали. Там вы уже сразу понимаете, что нужен один массив для всех. Только беда какая: прыгать наши зверушки не умеют. Вы такой: "Да не вопрос!" Создаете класс Прыгающие, описываете там функцию Прыгать и намереваетесь унаследовать от него наших кошек-собак, а Шарп вам говорит: "Нифига, друг, у меня нет множественного наследования, а твои зверушки уже унаследованы от класса ИздающиеЗвуки! Зато я могу имплементировать множество интерфейсов". И на этом этапе у вас уже должна появиться мысль, что ИздающиеЗвуки и Прыгающие - вполне могли бы быть интерфейсами. Нет, можно, конечно, переписать базовый класс как ИздающиеЗвукиИПрыгающие, но это полный отстой. Потому что, будильник, например, не прыгает, а давление ( ) прыгает, но не издает звуки. Да и если появится заказ на ПишущихНаФоруме, то представьте, как глупо будет добавлять в базовый класс еще и это, когда у вас только человек может это делать.
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
Последний раз редактировалось ACE Valery; 08.07.2018 в 15:55. |
08.07.2018, 17:12 | #36 |
Форумчанин
Регистрация: 12.06.2018
Сообщений: 831
|
Гадаю.
Что в примере значит параметр объект consoleLogger? Просто я это в первый раз вижу. Последний раз редактировалось Мaкс; 08.07.2018 в 17:36. |
08.07.2018, 17:13 | #37 |
Форумчанин
Регистрация: 12.06.2018
Сообщений: 831
|
Скрин забыл
|
08.07.2018, 17:16 | #38 |
Форумчанин
Регистрация: 12.06.2012
Сообщений: 110
|
|
08.07.2018, 17:17 | #39 |
Форумчанин
Регистрация: 12.06.2018
Сообщений: 831
|
|
08.07.2018, 17:19 | #40 |
Форумчанин
Регистрация: 12.06.2018
Сообщений: 831
|
Упс, не обратил внимание на метод, извините за беспокойство.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Несколько дней уже не могу разобраться с кодом... | timedo | HTML и CSS | 1 | 25.02.2013 09:49 |
уже несколько дней не могу решить две задачки | badim4k | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 16.12.2011 16:41 |
ДУЗЬЯ! НУЖНА ПОМОЩЬ ТЕХ, ХТО УЖЕ СТАЛКИВАЛСЯ С ЭТИМ! | matfey | Компьютерное железо | 4 | 19.10.2009 19:09 |
Помогите школьнику | kvx | Microsoft Office Excel | 6 | 20.09.2009 21:09 |