Upload
stella
View
65
Download
4
Embed Size (px)
DESCRIPTION
Программирование на языке C#. Основы ООП. План занятия. Принципы ООП Абстрагирование Инкапсуляция Наследование Полиморфизм. Принципы ООП. Шесть принципов Алана Кея: Всё является объектом. Принципы ООП. Шесть принципов Алана Кея: - PowerPoint PPT Presentation
Citation preview
EPAM Systemswww.epam.com EPAM Systemswww.epam.com
Программирование на языке C#
Основы ООП
EPAM Systemswww.epam.com
План занятия
• Принципы ООП• Абстрагирование• Инкапсуляция• Наследование• Полиморфизм
EPAM Systemswww.epam.com
Принципы ООП
Шесть принципов Алана Кея:1. Всё является объектом.
EPAM Systemswww.epam.com
Принципы ООП
Шесть принципов Алана Кея:2. Каждый объект является представителем
(экземпляром) класса, который выражает общие свойства объектов.
EPAM Systemswww.epam.com
Принципы ООП
Шесть принципов Алана Кея:3. В классе задаётся поведение
(функциональность) объекта. Тем самым все объекты, которые являются экземплярами одного класса, могут выполнять одни и те же действия.
EPAM Systemswww.epam.com
Принципы ООП
Шесть принципов Алана Кея:4. Классы организованы в единую
древовидную структуру с общим корнем, называемую иерархией наследования. Память и поведение, связанное с экземплярами определённого класса, автоматически доступны любому классу, расположенному ниже в иерархическом дереве.
EPAM Systemswww.epam.com
Принципы ООП
Шесть принципов Алана Кея:5. Каждый объект имеет независимую память,
которая состоит из других объектов.
EPAM Systemswww.epam.com
Принципы ООП
Шесть принципов Алана Кея:6. Вычисления осуществляются путём
взаимодействия (обмена данными) между объектами, при котором один объект требует, чтобы другой объект выполнил некоторое действие. Объекты взаимодействуют, посылая и получая сообщения. Сообщение — это запрос на выполнение действия, дополненный набором аргументов, которые могут понадобиться при выполнении действия.
EPAM Systemswww.epam.com
Абстрагирование
• Выделяете только те факторы, которые нужны для решения задачи
• Отсекайте все лишнее
EPAM Systemswww.epam.com
Инкапсуляция
• Пользователь (прикладной программист) не должен менять внутреннее состояние объекта – он не знает, как это делается!!!
• Поля и методы делятся на внутренние и интерфейсные. а b
c
r
x, y
length
EPAM Systemswww.epam.com
Объявление класса[атрибуты] [спецификаторы] class имя_класса [: предки]{
[атрибуты][спецификаторы] тип имя_поля [= значение];
[атрибуты][спецификаторы] тип имя_метода(параметры){ тело метода }
[атрибуты][спецификаторы] тип имя свойства{
[спецификаторы] get { тело } [спецификаторы] set { тело }
}}
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;}
}
EPAM Systemswww.epam.com
Спецификаторы доступа
• Методы и поля– private (по умолчанию)– public– internal– static– protected (наследование)– protected internal (наследование)– abstract (только для методов, полиморфизм)– new (только для методов, наследование)– override (только для методов, полиморфизм)
EPAM Systemswww.epam.com
Спецификаторы доступа
• Класс– internal (по умолчанию)– public– static– sealed (наследование)– abstract (полиморфизм)
EPAM Systemswww.epam.com
Контактная информация:Александр КузнецовИнструкторEPAM Systems, Inc.Адрес: Саратов, Рахова, 181Email: [email protected] http://www.epam.com