Программирование на языке c#
DESCRIPTION
Программирование на языке C#. Основы ООП. План занятия. Принципы ООП Абстрагирование Инкапсуляция Наследование Полиморфизм. Принципы ООП. Шесть принципов Алана Кея: Всё является объектом. Принципы ООП. Шесть принципов Алана Кея: - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Программирование на языке C#](https://reader036.vdocuments.site/reader036/viewer/2022062301/5681531d550346895dc140bb/html5/thumbnails/1.jpg)
EPAM Systemswww.epam.com EPAM Systemswww.epam.com
Программирование на языке C#
Основы ООП
![Page 2: Программирование на языке C#](https://reader036.vdocuments.site/reader036/viewer/2022062301/5681531d550346895dc140bb/html5/thumbnails/2.jpg)
EPAM Systemswww.epam.com
План занятия
• Принципы ООП• Абстрагирование• Инкапсуляция• Наследование• Полиморфизм
![Page 3: Программирование на языке C#](https://reader036.vdocuments.site/reader036/viewer/2022062301/5681531d550346895dc140bb/html5/thumbnails/3.jpg)
EPAM Systemswww.epam.com
Принципы ООП
Шесть принципов Алана Кея:1. Всё является объектом.
![Page 4: Программирование на языке C#](https://reader036.vdocuments.site/reader036/viewer/2022062301/5681531d550346895dc140bb/html5/thumbnails/4.jpg)
EPAM Systemswww.epam.com
Принципы ООП
Шесть принципов Алана Кея:2. Каждый объект является представителем
(экземпляром) класса, который выражает общие свойства объектов.
![Page 5: Программирование на языке C#](https://reader036.vdocuments.site/reader036/viewer/2022062301/5681531d550346895dc140bb/html5/thumbnails/5.jpg)
EPAM Systemswww.epam.com
Принципы ООП
Шесть принципов Алана Кея:3. В классе задаётся поведение
(функциональность) объекта. Тем самым все объекты, которые являются экземплярами одного класса, могут выполнять одни и те же действия.
![Page 6: Программирование на языке C#](https://reader036.vdocuments.site/reader036/viewer/2022062301/5681531d550346895dc140bb/html5/thumbnails/6.jpg)
EPAM Systemswww.epam.com
Принципы ООП
Шесть принципов Алана Кея:4. Классы организованы в единую
древовидную структуру с общим корнем, называемую иерархией наследования. Память и поведение, связанное с экземплярами определённого класса, автоматически доступны любому классу, расположенному ниже в иерархическом дереве.
![Page 7: Программирование на языке C#](https://reader036.vdocuments.site/reader036/viewer/2022062301/5681531d550346895dc140bb/html5/thumbnails/7.jpg)
EPAM Systemswww.epam.com
Принципы ООП
Шесть принципов Алана Кея:5. Каждый объект имеет независимую память,
которая состоит из других объектов.
![Page 8: Программирование на языке C#](https://reader036.vdocuments.site/reader036/viewer/2022062301/5681531d550346895dc140bb/html5/thumbnails/8.jpg)
EPAM Systemswww.epam.com
Принципы ООП
Шесть принципов Алана Кея:6. Вычисления осуществляются путём
взаимодействия (обмена данными) между объектами, при котором один объект требует, чтобы другой объект выполнил некоторое действие. Объекты взаимодействуют, посылая и получая сообщения. Сообщение — это запрос на выполнение действия, дополненный набором аргументов, которые могут понадобиться при выполнении действия.
![Page 9: Программирование на языке C#](https://reader036.vdocuments.site/reader036/viewer/2022062301/5681531d550346895dc140bb/html5/thumbnails/9.jpg)
EPAM Systemswww.epam.com
Абстрагирование
• Выделяете только те факторы, которые нужны для решения задачи
• Отсекайте все лишнее
![Page 10: Программирование на языке C#](https://reader036.vdocuments.site/reader036/viewer/2022062301/5681531d550346895dc140bb/html5/thumbnails/10.jpg)
EPAM Systemswww.epam.com
Инкапсуляция
• Пользователь (прикладной программист) не должен менять внутреннее состояние объекта – он не знает, как это делается!!!
• Поля и методы делятся на внутренние и интерфейсные. а b
c
r
x, y
length
![Page 11: Программирование на языке C#](https://reader036.vdocuments.site/reader036/viewer/2022062301/5681531d550346895dc140bb/html5/thumbnails/11.jpg)
EPAM Systemswww.epam.com
Объявление класса[атрибуты] [спецификаторы] class имя_класса [: предки]{
[атрибуты][спецификаторы] тип имя_поля [= значение];
[атрибуты][спецификаторы] тип имя_метода(параметры){ тело метода }
[атрибуты][спецификаторы] тип имя свойства{
[спецификаторы] get { тело } [спецификаторы] set { тело }
}}
![Page 12: Программирование на языке C#](https://reader036.vdocuments.site/reader036/viewer/2022062301/5681531d550346895dc140bb/html5/thumbnails/12.jpg)
EPAM Systemswww.epam.com
Примерpublic class Circle{
public double xpublic double y;private double r;public double R{
get { return r; }set { if(value >= 0) r = value; }
}public double GetLength(){
return 2 * Math.PI * r;}
}
![Page 13: Программирование на языке C#](https://reader036.vdocuments.site/reader036/viewer/2022062301/5681531d550346895dc140bb/html5/thumbnails/13.jpg)
EPAM Systemswww.epam.com
Спецификаторы доступа
• Методы и поля– private (по умолчанию)– public– internal– static– protected (наследование)– protected internal (наследование)– abstract (только для методов, полиморфизм)– new (только для методов, наследование)– override (только для методов, полиморфизм)
![Page 14: Программирование на языке C#](https://reader036.vdocuments.site/reader036/viewer/2022062301/5681531d550346895dc140bb/html5/thumbnails/14.jpg)
EPAM Systemswww.epam.com
Спецификаторы доступа
• Класс– internal (по умолчанию)– public– static– sealed (наследование)– abstract (полиморфизм)
![Page 15: Программирование на языке C#](https://reader036.vdocuments.site/reader036/viewer/2022062301/5681531d550346895dc140bb/html5/thumbnails/15.jpg)
EPAM Systemswww.epam.com
Контактная информация:Александр КузнецовИнструкторEPAM Systems, Inc.Адрес: Саратов, Рахова, 181Email: [email protected] http://www.epam.com