Разделы презентаций


Объектно - ориентированное программирование

Содержание

Класс и ОбъектКласс – это абстрактный тип данных. С помощью класса описывается некоторая сущность (характеристики и возможные действия)Описав класс, мы можем создать его экземпляр –объект. Объект – это уже конкретный представитель класса.Класс – это

Слайды и текст этой презентации

Слайд 1Объектно-ориентированное программирование (ООП)

Объектно-ориентированное программирование (ООП)

Слайд 2Класс и Объект
Класс – это абстрактный тип данных. С помощью класса описывается некоторая

сущность (характеристики и возможные действия)
Описав класс, мы можем создать его

экземпляр –объект. Объект – это уже конкретный представитель класса.
Класс – это абстрактное представление чего-либо.
Объект - используемый экземпляр того, что представляет класс.


Класс и ОбъектКласс – это абстрактный тип данных. С помощью класса описывается некоторая сущность (характеристики и возможные действия)Описав класс, мы

Слайд 3Основные принципы объектно-ориентированного программирования
Инкапсуляция 
Наследование
Полиморфизм
Абстракция

Основные принципы объектно-ориентированного программированияИнкапсуляция НаследованиеПолиморфизмАбстракция

Слайд 4Инкапсуляция
Инкапсуляция – позволяет скрывать внутреннюю реализацию.
В классе могут быть реализованы

внутренние вспомогательные методы, поля, к которым доступ для пользователя необходимо

запретить.
ИнкапсуляцияИнкапсуляция – позволяет скрывать внутреннюю реализацию. В классе могут быть реализованы внутренние вспомогательные методы, поля, к которым доступ

Слайд 5Наследование
Наследование – позволяет создавать новый класс на базе другого.
Класс, на

базе которого создается новый класс, называется базовым, а базирующийся новый

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

Слайд 6Полиморфизм
Полиморфизм – это способность объектов с одним интерфейсом иметь различную реализацию.


Например, есть два класса, Круг и Квадрат. У обоих классов

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

Слайд 7Абстракция
Абстракция – позволяет выделять из некоторой сущности только необходимые характеристики и

методы, которые в полной мере (для поставленной задачи) описывают объект.

Например, создавая класс для описания студента, мы выделяем только необходимые его характеристики, такие как ФИО, номер зачетной книжки, группа. Здесь нет смысла добавлять поле вес или имя его кота/собаки и т.д.
АбстракцияАбстракция – позволяет выделять из некоторой сущности только необходимые характеристики и методы, которые в полной мере (для поставленной

Слайд 8Класс
Класс – это абстрактный тип данных. Другими словами, класс – это

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

[модификатор

доступа] class [имя_класса] {    //тело класса }
- public – доступ к классу возможен из любого места одной сборки либо из другой сборки, на которую есть ссылка; - internal – доступ к классу возможен только из сборки, в которой он объявлен
КлассКласс – это абстрактный тип данных. Другими словами, класс – это некоторый шаблон, на основе которого будут создаваться

Слайд 10Схема Класса

Схема Класса

Слайд 11Инструменты схемы классов

Инструменты схемы классов

Слайд 12Члены класса
поля;
константы;
свойства;
конструкторы;
методы;
события;
операторы;
индексаторы;
вложенные типы.

Члены классаполя;константы;свойства;конструкторы;методы;события;операторы;индексаторы;вложенные типы.

Слайд 13Поля класса
Поля служат для хранения данных, содержащихся в объекте. Поля

аналогичны переменным, т.к. они непосредственно читаются и устанавливаются.
Поле – это переменная,

объявленная внутри класса.
Как правило, поля объявляются с модификаторами доступа private либо protected, чтобы запретить прямой доступ к ним.
Для получения доступа к полям следует использовать свойства или методы.
Поля класса Поля служат для хранения данных, содержащихся в объекте. Поля аналогичны переменным, т.к. они непосредственно читаются

Слайд 14Закрытые, защищенные и открытые поля
Private – "объекты только этого класса могут

обращаться к данному полю".
Public – "объекты любого класса могут обращаться к

этому полю".
Protected – "только объекты классов-наследников могут обращаться к полю".
Если построен класс Animal, то другой класс, например, класс Mammal (Млекопитающее), может объявить себя наследником класса Animal.

Закрытые, защищенные и открытые поляPrivate –

Слайд 15Константы
Константы-члены класса ничем не отличаются от простых констант.
Константа – это переменная,

значений которой нельзя изменить. Константа объявляется с помощью ключевого слова const.

Пример объявления константы: class Math {    private const double Pi = 3.14; }

КонстантыКонстанты-члены класса ничем не отличаются от простых констант. Константа – это переменная, значений которой нельзя изменить. Константа объявляется с

Слайд 16Методы
Методами называют действия, которые объект может выполнять.
Метод позволяет описать

порядок выполнения определенных действий.
Описание метода называется программным кодом или

просто кодом.
 Методы позволяют сократить объем кода.

МетодыМетодами называют действия, которые объект может выполнять. Метод позволяет описать порядок выполнения определенных действий. Описание метода называется

Слайд 17Методы
public void SayHello ()
{

string fullname;

fullname ="Hellow, " + FirstName + " " + Surname;
}
Использование слова void перед именем метода означает, что, когда завершается выполнение метода, возвращается пустое значение, то есть по завершении определенных действий, которые выполняет метод, он никаких значений не возвращает.

Методыpublic void SayHello ()    {      string fullname;

Слайд 18Методы
Вызов из формы

МетодыВызов из формы

Слайд 19Статический метод – это метод, который не имеет доступа к полям

объекта, и для вызова такого метода не нужно создавать экземпляр

(объект) класса, в котором он объявлен.
Простой метод – это метод, который имеет доступ к данным объекта, и его вызов выполняется через объект.
Статический метод – это метод, который не имеет доступа к полям объекта, и для вызова такого метода не

Слайд 20Простой метод
Класс Телевизор, у него есть поле switchedOn, которое отображает состояние включен/выключен,

и два метода – включение и выключение: class TVSet {    private bool

switchedOn;    public void SwitchOn()    {      switchedOn = true;    }    public void SwitchOff()    {      switchedOn = false;    }  } class Program {    static void Main(string[] args)    {      TVSet myTV = new TVSet();      myTV.SwitchOn(); // включаем телевизор, switchedOn = true;      myTV.SwitchOff(); // выключаем телевизор, switchedOn = false;    } }
Чтобы вызвать простой метод, перед его именем, указывается имя объекта. Для вызова статического метода необходимо указывать имя класса.
Простой методКласс Телевизор, у него есть поле switchedOn, которое отображает состояние включен/выключен, и два метода – включение и выключение:

Слайд 21Пример статического метода, который обрезает строку до указанной длины, и

добавляет многоточие: class StringHelper {    public static string TrimIt(string s, int max)   

{      if (s == null)        return string.Empty;      if (s.Length <= max)        return s;      return s.Substring(0, max) + "...";    } } class Program {    static void Main(string[] args)    {      string s = "Очень длинная строка, которую необходимо обрезать до указанной длины и добавить многоточие";      Console.WriteLine(StringHelper.TrimIt(s, 20)); //"Очень длинная строка…"      Console.ReadLine();    } }

Пример статического метода, который обрезает строку до указанной длины, и добавляет многоточие:  class StringHelper {   

Слайд 22Конструктор
Конструктор – это метод класса, предназначенный для инициализации объекта при его

создании.
Инициализация – это задание начальных параметров объектов/переменных при их создании.
Особенностью конструктора,

как метода, является то, что его имя всегда совпадает с именем класса, в котором он объявляется.
При этом, при объявлении конструктора, не нужно указывать возвращаемый тип, даже ключевое слово void.
Конструктор следует объявлять как public, иначе объект нельзя будет создать 
КонструкторКонструктор – это метод класса, предназначенный для инициализации объекта при его создании.Инициализация – это задание начальных параметров объектов/переменных при

Слайд 23








Указатель this - это указатель на объект, для которого был

вызван нестатический метод.
Ключевое слово this обеспечивает доступ к текущему экземпляру класса.


Классический пример использования this, это как раз в конструкторах, при одинаковых именах полей класса и аргументов конструктора.
Ключевое слово this это что-то вроде имени объекта, через которое мы имеем доступ к текущему объекту. 
Указатель this - это указатель на объект, для которого был вызван нестатический метод. Ключевое слово this обеспечивает доступ к

Слайд 24Поля класса Employee
Доступ к полю в форме

Поля класса EmployeeДоступ к полю в форме

Слайд 25Наследование класса
class [имя_класса] : [имя_базового_класса] {    // тело класса }
В программировании наследование позволяет создавать

новый класс на базе другого.
Класс, на базе которого создается

новый класс, называется базовым, а базирующийся новый класс – наследником или производным классом.
В класс-наследник из базового класса переходят поля, свойства, методы и другие члены класса.
Наследование классаclass [имя_класса] : [имя_базового_класса] {    // тело класса }В программировании наследование позволяет создавать новый класс на базе

Слайд 26Наследование класса

Наследование класса

Слайд 27Свойства
Представляют собой способ доступа к полям объекта
Для использующих класс программ

свойства выглядят как поля с данными, однако внутри класса являются

кодом – специальным методом для работы с полями.
В свойство можно поместить проверку допустимости значения.
Внутри тела свойства используются специальные процедуры аксессоры (accessors) –Get и Set.
Обеспечивают контроль над процессом присваивания или возврата значений полей, что позволяет изолировать и проверять данные до изменения или чтения значений.

СвойстваПредставляют собой способ доступа к полям объектаДля использующих класс программ свойства выглядят как поля с данными, однако

Слайд 28Свойства
Свойства предоставляют удобный механизм доступа к полю класса (чтение поля

и запись). Свойство представляет собой что-то среднее между полем и

методом класса.
[модификатор доступа] [тип] [имя_свойства] {    get    {      // тело аксессора для чтения из поля    }    set     {      // тело аксессора для записи в поле    } }
СвойстваСвойства предоставляют удобный механизм доступа к полю класса (чтение поля и запись). Свойство представляет собой что-то среднее

Слайд 29Свойства
Если бы просто сделали поле year открытым и не использовали

ни методы, ни свойство для доступа, мы могли бы записать

в это поле любое значение, в том числе и некорректное, а так мы можем контролировать чтение и запись.
СвойстваЕсли бы просто сделали поле year открытым и не использовали ни методы, ни свойство для доступа, мы

Слайд 30Свойства

Свойства

Слайд 32События
Применения событий позволяет объектам реагировать на те или иные ситуации

и выполнять необходимые ответные действия.
Событие может вызываться только в том

классе, где оно объявлено
СобытияПрименения событий позволяет объектам реагировать на те или иные ситуации и выполнять необходимые ответные действия.Событие может вызываться

Слайд 33События и делегаты
Бывают ситуации, когда программисту требуется написать гибкий код,

реагирующий на выполнение конкретных операций.
Например были созданы различные ЭУ (кнопки,

поля и т.д.). Но разработчики не знали, как мы будем их использовать. ЭУ имеют точки взаимодействия , встроенные в код таким образом, чтобы они могли поддерживать связь с вашей программой. Эти точки взаимодействия называются событиями (events). События срабатывают всякий раз, когда пользователь выполняет определенные действия(нажимает на кнопку).
Программисты пишут код, который связывает эти события с другим кодом в разрабатываемой программе и должен выполняться при наступлении этих событий (нажатие кнопки).
Для выполнения этой задачи используются делегаты (delegates).
События и делегатыБывают ситуации, когда программисту требуется написать гибкий код, реагирующий на выполнение конкретных операций.Например были созданы

Слайд 34События и делегаты
Событие определяет тип уведомлений, которые могут предоставляться объектом,

и делегат позволяет связать событие с тем кодом, которое должен

исполняться при его наступлении.
Событие – это тип класса , который позволяет вашему классу или экземпляру класса уведомлять другой код о том, что происходит в пределах этого класса.
События и делегатыСобытие определяет тип уведомлений, которые могут предоставляться объектом, и делегат позволяет связать событие с тем

Слайд 37С помощью ключевого слова event объявляем событие AgeChange класса Event

Hander.
Event Hander представляет собой класс, который принадлежит библиотеки .NET

Framework

Чтобы сгенерировать событие нужно вызвать как простой метод

С помощью ключевого слова event объявляем событие AgeChange класса Event Hander. Event Hander представляет собой класс, который

Слайд 38Чтобы добавить свой объект в качестве получателя события , нужно

выполнить операцию добавления к текущему значению нового экземпляра обработчика с

помощью операции +=
Если нужно удалить обработчик события, то выполняется операция -=

Наше событие является делегатом EvenHander, следовательно мы должны добавить экземпляр EvenHander. Передаем делегату метод AgeChange.

Чтобы добавить свой объект в качестве получателя события , нужно выполнить операцию добавления к текущему значению нового

Слайд 39Процедуры и функции – методы класса
Метод функциональной декомпозиции - декомпозиция

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

в языках программирования, были процедуры и функции
 Один раз написанную функцию можно многократно вызывать в программе с разными значениями параметров, передаваемых функции в момент вызова.
Важным шагом в автоматизации программирования было появление библиотек процедур и функций, доступных из языка программирования
Для языков ООП, к которым относится и язык C#, роль архитектурного модуля играет класс
Процедуры и функции связываются теперь с классом, они обеспечивают требуемую функциональность класса и называются методами класса. 
Главную роль в классе начинают играть его данные – поля класса, задающие свойства объектов класса. 
Прежнюю роль библиотек процедур и функций теперь играют библиотеки классов.
Процедуры и функции – методы классаМетод функциональной декомпозиции - декомпозиция главной функции на подфункции, решающие частные задачи.Первыми

Слайд 40Процедуры и функции – методы класса
имя_метода([список_фактических_аргументов])
синтаксис объявления формального аргумента:
[ ref | out | params ] тип_аргумента

имя_аргумента.
Выходные аргументы всегда должны сопровождаться ключевым словом out, обновляемые - ref. 
Входные аргументы, как

правило, задаются без ключевого слова, хотя иногда их полезно объявлять с параметром ref. 

Процедуры и функции – методы классаимя_метода([список_фактических_аргументов])синтаксис объявления формального аргумента:[ ref | out | params ] тип_аргумента имя_аргумента.Выходные аргументы всегда должны сопровождаться ключевым словом out, обновляемые

Слайд 41Классы в VB

Классы в VB

Слайд 42Добавление методов
Sub MyMetod(ByVal MyMethParam As String)
……..
End Sub

Function MyFunc(ByVal MyFuncParam As

Integer) as String
……….
MyFunc=выражение
End Functon

Добавление методовSub MyMetod(ByVal MyMethParam As String)……..End SubFunction MyFunc(ByVal MyFuncParam As Integer) as String……….MyFunc=выражениеEnd Functon

Слайд 43Методы
Методы являются обычными процедурами или функциями
Функция всегда возвращает результат
Подпрограмма для

возвращения результата может использовать параметры
Передача параметров по значению (ByVal). Режим

по умолчанию. Значения переменных , которые используются в качестве параметров, невозможно изменить в теле подпрограммы
Передача параметров по ссылке (ByRef). В теле вызываемой подпрограммы можно изменять значения тех переменных, которые ей передаются в качестве параметров
МетодыМетоды являются обычными процедурами или функциямиФункция всегда возвращает результатПодпрограмма для возвращения результата может использовать параметрыПередача параметров по

Слайд 44Классы в VB

Классы в VB

Слайд 45Классы в VB

Классы в VB

Слайд 46Наследование

Наследование

Слайд 47Свойство
Public Property MyProperty() as String
Get
Return FmyField
End Get
Set(ByVal Value As String)
FmyField=Value
End

Set
End Property
Указание значения
Обязательный оператор для возврата значения

СвойствоPublic Property MyProperty() as StringGet	Return FmyFieldEnd GetSet(ByVal Value As String)	FmyField=ValueEnd SetEnd PropertyУказание значенияОбязательный оператор для возврата значения

Слайд 48Свойства

Свойства

Слайд 49Свойства

Свойства

Слайд 51Структура проекта
Проект представляет собой совокупность файлов, которые компилятор использует для

создания выполняемого файла.
Основными элементами проекта являются:
главный модуль приложения

(файл Program.css);
модули форм.

Структура проектаПроект представляет собой совокупность файлов, которые компилятор использует для создания выполняемого файла. Основными элементами проекта являются:

Слайд 52Главный модуль
В главном модуле находится функция Main, с которой

начинается выполнение программы. Функция Main создает стартовую форму (имя класса

стартовой формы указывается в качестве параметра метода Run)
Главный модуль В главном модуле находится функция Main, с которой начинается выполнение программы. Функция Main создает стартовую

Слайд 53Модуль формы
Модуль формы содержит объявление класса формы. Физически модуль

формы разделен на два файла:
Form1.cs
Form1.Designer.cs

Модуль формы Модуль формы содержит объявление класса формы. Физически модуль формы разделен на два файла: Form1.cs Form1.Designer.cs

Слайд 54Form1.Designer.cs

Form1.Designer.cs

Слайд 55находится объявление класса формы, в том числе сформированная дизайнером формы

функция InitializeComponent, обеспечивающая создание и настройку компонентов

находится объявление класса формы, в том числе сформированная дизайнером формы функция InitializeComponent, обеспечивающая создание и настройку компонентов

Слайд 56Компиляция
Процесс преобразования исходной программы в выполняемую называется компиляцией или

построением (build).
Укрупненно процесс построения программы можно представить как последовательность

двух этапов:
компиляция и
компоновка.
На этапе компиляции выполняется перевод исходной программы (модулей) в некоторое внутреннее представление.
На этапе компоновки — объединение модулей в единую программу.
Компиляция Процесс преобразования исходной программы в выполняемую называется компиляцией или построением (build). Укрупненно процесс построения программы можно

Слайд 57Процесс построения программы активизируется в результате выбора в меню
Построение-Построить
Отладка

–Начать отладку, если с момента последней компиляции в программу были

внесены изменения
Результат компиляции отражается в окне Список ошибок
Процесс построения программы активизируется в результате выбора в меню Построение-ПостроитьОтладка –Начать отладку, если с момента последней компиляции

Слайд 58Ошибки и предупреждения
Компилятор генерирует выполняемую программу (exe-файл) только в том

случае, если в исходной программе (в тексте) нет ошибок.

Ошибки и предупрежденияКомпилятор генерирует выполняемую программу (exe-файл) только в том случае, если в исходной программе (в тексте)

Слайд 59Компиляция приложений
Построение решений и проектов
Во время стандартного построения будут перестраиваться

только те проекты в которые были внесены изменения с момента

последней компиляции
Самая быстрая
Перестройка решений и проектов
Добавление нового кода
Создание новой сборки
Ситуации, когда в процессе стандартного построения произошли ошибки
Перестраиваются все элементы проекта, увеличение времени
Очистка решений ипроектов
Удаление вех выходных файлов
Получение более компактной версии приложения

Компиляция приложенийПостроение решений и проектовВо время стандартного построения будут перестраиваться только те проекты в которые были внесены

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика