Слайд 2Введение
В окончательном виде любая программа представляет собой набор инструкций процессора. Все,

что написано на любом языке программирования – более удобная, упрощенная запись этого набора инструкций, облегчающая написание, отладку и последующую модификацию программы. Чем выше уровень языка, тем в более простой форме записываются одни и те же действия. С ростом объема программы становится невозможным удерживать в памяти все детали, и становится необходимым структурировать информацию, выделять главное и отбрасывать несущественное. Этот процесс называется повышением степени абстракции программы.
Слайд 3Введение понятия класса является естественным развитием идей модульности. В классе структуры данных

и функции их обработки объединяются. Класс используется только через его интерфейс – детали реализации для пользователя класса не существенны. Идея классов отражает строение объектов реального мира – ведь каждый предмет или процесс обладает набором характеристик или отличительных черт, иными словами, свойствами и поведением.
Класс является типом данных, определяемым пользователем. В классе задаются свойства и поведение какого-либо предмета или процесса в виде полей данных (аналогично структуре) и функций для работы с ними.
Слайд 5Классы и объекты
Класс - это тип данных, а объект - экземпляр типа класс.
Например, кнопка вообще – это

класс Button. А конкретная кнопка – это объект Button1 или Button1.
Текстовое поле вообще – это класс TextBox. А конкретное поле – это объект, например, TextBox1.
Класс — это просто набор методов, работающих с определёнными локальными данными.
Слайд 6Пять основных черт объектно-ориентированного языка
Все является объектом (форма, текстовые поля, списки, меню,

кнопки и т.д.). Объект как хранит информацию, так и способен ее преобразовывать.
Программа — совокупность объектов, указывающих друг другу что делать.
Объект может включать другие объекты.
У каждого объекта есть тип. Тип называют классом.
Все объекты одного типа могут получать одинаковые сообщения.
Слайд 7Свойства объекта
Состояние объекта характеризуется перечнем всех свойств данного объекта и текущими значениями

каждого из этих свойств.
Индивидуальность объекта – это такое свойство объекта, которое отличает его от всех других объектов. В большинстве языков программирования при создании объект именуется.
Слайд 8Методы
В C# метод служит в качестве аналога подпрограммы. (К числу других

функций-членов относятся свойства, события и конструкторы.) Таким образом, методы класса содержат код, воздействующий на поля, определяемые этим классом.
Ме́тод в объектно-ориентированном программировании — это функция или процедура, принадлежащая какому-то классу или объекту.
Как и процедура в процедурном программировании, метод состоит из некоторого количества операторов для выполнения какого-то действия и имеет набор входных аргументов.
Слайд 9Основные принципы ООП
Объектно-ориентированное программирование строится на трех основополагающих принципах:
Инкапсуляция,
Полиморфизм
Наследование

Слайд 10Инкапсуляция
Инкапсуляция — это механизм программирования, объединяющий вместе код и данные, которыми он манипулирует,

исключая как вмешательство извне, так и неправильное использование данных. В объектно-ориентированном языке данные и код могут быть объединены в совершенно автономный черный ящик. Внутри такого ящика находятся все необходимые данные и код. Когда код и данные связываются вместе подобным образом, создается объект. Иными словами, объект — это элемент, поддерживающий инкапсуляцию.
Слайд 11Наследование
Наследование представляет собой способность производить новый класс из существующего базового класса. Производный

класс – это новый класс, а базовый класс – существующий класс. Когда вы порождаете один класс из другого (базового класса), производный класс наследует элементы базового класса.
Слайд 12Пример
Пусть у нас есть следующий класс Person, который описывает отдельного человека:
Но

вдруг нам потребовался класс, описывающий сотрудника предприятия - класс Employee. Поскольку этот класс будет реализовывать тот же функционал, что и класс Person, так как сотрудник - это также и человек, то было бы рационально сделать класс Employee производным (или наследником, или подклассом) от класса Person, который, в свою очередь, называется базовым классом или родителем (или суперклассом):
Слайд 13Полиморфизм
В языках программирования полиморфизмом называется способность функции обрабатывать данные разных типов.
