Вы находитесь на странице: 1из 3

C# и .

Net Framework – Часть 1 – Основы программирования и проектирования

Урок 6. Основные понятия ООП


О чем урок
Урок познакомит вас с концепцией ООП на любопытном примере. Разбор того, как устроены
изнутри бегающие по экрану монстры, позволит вам окунуться в атмосферу классов, объектов,
абстракции, инкапсуляции, наследования, полиморфизма.

Вы увидите применение всех аспектов концепции в реальной рабочей программе. В уроке вы не


найдете традиционных ООП примеров с фигурами и зверями ☺

Вы узнаете, как построить и прочитать UML диаграмму классов, какие между классами могут быть
отношения. Также будут рассмотрены три шаблона проектирования, которые потребовалось
реализовать в программе.

При выполнении домашнего задания вам предстоит оценить на собственном опыте


преимущества правильно построенной объектной модели, легкости ее расширения и удобства
использования.

Самоконтроль
ü концепция ООП
ü объект
ü состояние объекта
ü поведение объекта
ü класс
ü экземпляр класса
ü диаграмма классов
ü UML
ü отношение наследования
ü отношение вложенности
ü отношение использования
ü группировка классов в пространства имен
ü схлопывание методов в Visual Studio
ü конструктор
ü абстракция
ü уровни абстракции для классов
ü интерфейс
ü инкапсуляция
ü сокрытие сложности
ü сокрытие данных
ü сокрытие логики
ü абстрактный класс
ü наследование классов

Школа Программирования, Ляпин Дмитрий, 2011 г. Страница 1


C# и .Net Framework – Часть 1 – Основы программирования и проектирования

ü уровни доступа
ü защищенные поля и методы
ü абстрактный метод
ü виртуальный метод
ü полиморфизм

ü закрытые или защищенные поля


ü методы доступа для наследуемых классов
ü this
ü проблема использования this в конструкторе
ü разница между виртуальными и абстрактными методами
ü паттерн проектирования «Шаблонный метод»
ü операция-зацепка
ü определение абстрактных методов
ü переопределение виртуальных методов
ü override
ü проблема изменения списка в цикле foreach
ü полиморфное поведение
ü паттерн проектирования «Фабричный метод»
ü инстанцирование
ü параметризированный фабричный метод
ü единый генератор случайных чисел
ü паттерн проектирования «Одиночка»
ü адаптация «Одиночки» для стандартных типов данных
ü «Одиночка» или передача ссылки на объект

Домашнее задание
Необходимо внести некоторые доработки и изменения в учебную программу, которая была
рассмотрена в уроке.

1. Таких монстров как ёж и собака вы можете убрать из программы.

2. Необходимо реализовать два новых типа монстра: самец и самка. Изначально на поле
оказываются несколько представителей.

За время жизни они сменяют три состояния:


• детство
• расцвет сил
• старость

В детстве монстры должны просто бегать по полю. Когда представитель мужского пола
достигает расцвета сил, он должен искать самок, находящихся также в активном
возрасте. Когда они оказываются на одной клетке, там должен родиться новый монстр.

Школа Программирования, Ляпин Дмитрий, 2011 г. Страница 2


C# и .Net Framework – Часть 1 – Основы программирования и проектирования

Самцы и самки должны внешне отличаться друг от друга. Также монстры должны быть
визуально различимы и по возрастным группам.

3. Нужно самостоятельно придумать и реализовать еще одного монстра.

4. Требуется реализовать монстра, перемещением которого пользователь сможет управлять


с помощью клавиатуры.

Для лиц монстров вы можете использовать различные коды символов. Познакомьтесь с


таблицей:

Школа Программирования, Ляпин Дмитрий, 2011 г. Страница 3

Оценить