наследование Разбиваем )кивотных на группы «Выдержанный вермонтский чеддер» —это вид сыра, который относится к ежедневно потребляемым продуктам и в свою очередь входит в категорию «еда». Эта последовательность представлена наглядной моделью классов. К счастью для нас, в C # такие вещи легко сделать. Можно создать цепочку классов, наследующих друг от друга. И вы получите бс130вый класс F o o d с производным классом D a i r y P r o d u c t , который, в свою очередь, является базовым для класса C h e e s e , содержащего в себе производный класс C h e d d a r , передающий свои признаки классу A g e d V e r m o n tC h e d d a r . Поиск классов, имеющих ллного общего Вам не кажется, что волки и собаки во многом похожи? Они относятся к семейству псовых и имеют сходное поведение. Скорее всего, им придется по вкусу одна и та же еда. И спят они одинаковым способом. Теперь рассмотрим домашних кошек, тигров и львов? Они одинаково перемещаются по месту своего обитания. Наверное, имеет смысл создать для них базовый класс F e l i n e (Кошачьи), который будет производным от класса A n im a l. Это позволит избежать дублирования кода. A nim al Picture Food Hunger Boundaries Location IVIal
расширяем объекты иерархия классов Конструкция, в которой под базовым классом располагаются производные классы, которые, в свою очередь, являются базовыми для других классов, называется иерархией (class hierarchy). Подобный подход не только позволяет избежать многократного дублирования кода, но и делает код намного более читабельным. Например, при просмотре кода симулятора зоопарка, наткнувшись на метод или свойство из класса Feline, вы сразу поймете, что они имеют отношение к кошкам. Иерархия становится картой, позволяющей отследить происходящее в программе. Завершение построения иерархии Вам осталось добавить классы Feline и Canine, и иерархия будет готова. Animal Picture Food Hunger Boundaries Location IVIakeNoiseO Eat() SleepO Roam() Класс Fefine перекрывает метод RoamQ, поэтому все унаследованные свойства будут иметь дело с новым методом, а не с тем, который дыл определен в классе Animal. V. Feline sce KOIMKU двигаются п о э т а ! метод RoamO дляны^ общий. Но они п Т разному питаются < издают разные s S y i^ ^оэтому методы ^ ^ и MakeNoiseO Унаследованные от класса Animai ^^Рекрываются. ' MakeNoiseO Eat() MakeNoiseO Eat() Волки и собаки пит аю т ся одинаково, поэтому ик " общий метод EatQ помещен в класс Canine Wolf MakeNoiseO MakeNoiseO 248 глава 6
Изучаем Управляй д
ББК 32.973.2-018.1 УДК 004.43
оглавление Оо д е р
оглавление э щ о Бс
оглавление гоипь! и
оглавление н а с л е
оглавление п е р е ч
оглавление обр>або
оглавление и т1реДБ
оглавление Метод з
к а к р а б о з з а а ш
введение Mbl знаем, о
введение Метапозна
Что мо)кете сделать
введение информаци
введение Благодарн
с c# это легко Зачем
помогите начальник
ваша цель Ч т о мы с
приступим Э то Вы д
изучи ИСР Возьми в
лучше один раз увид
экономим ресурсы Vis
запуск приложения (
сохраните, чтобы по
хранить данные лег
оформим в таблицу П
это именно мой тип
добавляем данные П
все данные в одном
соединим все вмест
сделаем красиво Хо
напоследок Тестиро
поделитесь любовью
быстрее не бывает У
к вашим услугам Ког
средства коммуника
ваш маленький помо
подробности Любые
программа делает з
еще более подробно
элегантные решения
время получить отв
решение упражнения
параметры могут ва
операторы наготове
прекратим ошибки! О
приготовились, нас
то, что вы можете сд
выше и выше и выше и
если только, но тол
ваш код... теперь в в
симпатично! п'ражне
решение упражнения
это не такой просто
решение ребуса е Ш
майк ищет работу Ч
создаем методы и ре
знакомство с объек
про экземпляры Объ
объекты совершенст
немножко маленьких
слово static |Л о зьм и
как дела у объектов
складываем объекты
зачем нужны методы
классы как они есть
несколько советов
создадим класс Воз
работающий класс guy
джо говорит: «где м
объекты, по порядку
объекты, по порядку
объекты, по порядку
не мои тип Tun переме
взять деньги на мор
приведения Приведе
настоящее преобраз
таблица зарезервир
что-то пошло не так.
операторы наготове
получи ссылку Пере
вот водитель мусор
так много меток їоз
Возьми 8 руку каран
держи ссылку Дбе сс
выбираем объект из
джо говорит: «не ст
болтливые объекты
возьми в руку каран
магниты с кодом и р
создадим что-нибуд
ключ к прекрасной и
решение упражнения
решение ребуса е Ш
не верь глазам свои
вверх легко, а вот в
неглупые вопросы _
уберите страшных к
про видимость изме
ox уж этот дублирующ
не могу поверить, ч
абстрактные классы
стоит тысячи слов В
словесная битва Бе
проблемы множестве
в форме... ведра с ор
приступим о Длинны
понаблюдаем за пов
решение упражнения
решение упражнения
создай себе соперн
решение упражнения
решение упражнения
решение упражнения
8 перечисление и Ко
перечисления и кол
перечисления и кол
перечисления и кол
перечисления и кол
перечисления и кол
перечисления и кол
перечисления и кол
Разве перечисления
Коллекция уток Ф У
* перечисления и ко
перечисления и кол
перечисления и кол
перечисления и кол
перечисления и кол
перечисления и кол
перечисления и кол
перечисления и кол
перечисления и кол
перечисления и кол
перечисления и кол
перечисления и кол
перечисления и кол
перечисления и кол
перечисления и кол
перечисления и кол
перечисления и кол
перечисления и кол
перечисления и кол
острова в потоке Дл
намного проще Объе
запишите это Дьяво
прочитайте это еШе
не пересекайте пот
серьезный диалог ^ 0
окна диалога — это
справочная система
напишите это сам ос
бросайте мусор в ну
мне снова нужно к в
уваж ительные прич
решение упражнения
блок вы бора Запись
застигнутый враспл
p.s. я нашел свою ляг
сохраняйте основно
сериализован для в
сериализация колод
внешний вид символ
изменение порядка
смесь байтов Значе
отпразднуем наши р
69 73 6е 27 74 20 74 68 69 73 20 6
построение дампа д
часто задаваемые в
решение упражнения
мобильные программ
вопреки правилам В
арахисовая карамел
никто не ожидал, чт
генеалогия исключе
обработка исключен
сделаем перерыв Ча
непредсказуемость
сомнительные делиш
плывем по течению Р
убери за собой Ключ
исключения как при
что мусор для одног
наборы блоков catch О
ваше собственное и
небольшой обзор publi
небольшое предупре
упущенные возможно
несколько предложе
решение упражнения
11 с о б ь Ш 1и я и д е
события и делегаты
события и делегаты
события и делегаты
Часто З а д а в а е м
события и делегаты
события и делегаты
события и делегаты
события и делегаты
Запустите программ
события и делегаты
события и делегаты
события и делегаты
события и делегаты
события и делегаты
события и делегаты
события и делегаты
12 обзор и преДБа]=пх
обзор и предварите
о б з о р и п р е д в а
о б з о р и п р е д в а
о б з о р и п р е д в а
М ет од M atkA bsO вычис
о б з о р и п р е д в а
о б з о р и предвари
о б з о р и п р е д в а
о б з о р и п р е д в а
о б з о р и п р е д в а
^ з ь м и в руку кара
о б з о р и п р е д в а
Если у вас не получ
Эт о выход. Когда ул
о б зо р и п р е д в а
о б з о р и п р е д в а
о б зо р и п р е д в а
о б з о р и п р е д в а
о б зо р и п р е д в а
о б з о р и п р е д в а
о б з о р и п р е д в а
р е ш е н и е у п р а ж
\сод p r i v a t e v o i d o p e
в е зд е о б ъ е кт ы
к а к м и л о ! Анимир
з а м е ч а т е л ь н о
у п р а в л я е м г р а
\шг \же \щг /ш\ Уш\ / П
п о л ь з о в а т е л ь
у д а л е н и е э л е м
создание элементов
вот что вы будете д
начнем! Это элем ен
цветы рисуются при
соединим все вмест
что-то не так Тести
нехватка ресурсов
подробно о графике
методы создания гр
рисуем картинку Ри
как это выглядит? в
выглядит прекрасно
вернемся к события
как работает событ
что это за мерцание
сглаживание анимац
перестраиваем визу
решение упражнения
вывод графических
вывод мира ^ажнение
решение упражнения
мини-л0боратория А
O b je c tv ille Home of
смерть объекта c l a s
это твое последнее
смерть объекта Ког
о П одклю чите две д
смерть объекта Сер
Может пи метод заве
создаем копию Знач
1 ^ з ь м и в руку кар
не ограничивайте м
ссылки по запросу М
необязательные арг
почувствуй вкус на
надежность структу
расширь это Помнит
лучше быстрее силь
капитан жив! ^ а Г н
решение ребуса і^еї
дьявол в деталях Пр
UNQ для спасения Сбо
простые запросы Пр
это не sql Д н а щ о М
вот почему джимми л
небольшой обзор КЛ
а вы поклонник LINQ? П
Сгруппируем резуль
последний ребус в б
свой парень Джимми
соберем все вместе
ключевое слово var К
это всё, ребята Сое
Эндрю Стиллмен, Дже