Программирование на языке C#

15
EPAM Systems www.epam.com EPAM Systems www.epam.com Программирование на языке C# Основы ООП

description

Программирование на языке C#. Основы ООП. План занятия. Принципы ООП Абстрагирование Инкапсуляция Наследование Полиморфизм. Принципы ООП. Шесть принципов Алана Кея: Всё является объектом. Принципы ООП. Шесть принципов Алана Кея: - PowerPoint PPT Presentation

Transcript of Программирование на языке C#

Page 1: Программирование на языке  C#

EPAM Systemswww.epam.com EPAM Systemswww.epam.com

Программирование на языке C#

Основы ООП

Page 2: Программирование на языке  C#

EPAM Systemswww.epam.com

План занятия

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

Page 3: Программирование на языке  C#

EPAM Systemswww.epam.com

Принципы ООП

Шесть принципов Алана Кея:1. Всё является объектом.

Page 4: Программирование на языке  C#

EPAM Systemswww.epam.com

Принципы ООП

Шесть принципов Алана Кея:2. Каждый объект является представителем

(экземпляром) класса, который выражает общие свойства объектов.

Page 5: Программирование на языке  C#

EPAM Systemswww.epam.com

Принципы ООП

Шесть принципов Алана Кея:3. В классе задаётся поведение

(функциональность) объекта. Тем самым все объекты, которые являются экземплярами одного класса, могут выполнять одни и те же действия.

Page 6: Программирование на языке  C#

EPAM Systemswww.epam.com

Принципы ООП

Шесть принципов Алана Кея:4. Классы организованы в единую

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

Page 7: Программирование на языке  C#

EPAM Systemswww.epam.com

Принципы ООП

Шесть принципов Алана Кея:5. Каждый объект имеет независимую память,

которая состоит из других объектов.

Page 8: Программирование на языке  C#

EPAM Systemswww.epam.com

Принципы ООП

Шесть принципов Алана Кея:6. Вычисления осуществляются путём

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

Page 9: Программирование на языке  C#

EPAM Systemswww.epam.com

Абстрагирование

• Выделяете только те факторы, которые нужны для решения задачи

• Отсекайте все лишнее

Page 10: Программирование на языке  C#

EPAM Systemswww.epam.com

Инкапсуляция

• Пользователь (прикладной программист) не должен менять внутреннее состояние объекта – он не знает, как это делается!!!

• Поля и методы делятся на внутренние и интерфейсные. а b

c

r

x, y

length

Page 11: Программирование на языке  C#

EPAM Systemswww.epam.com

Объявление класса[атрибуты] [спецификаторы] class имя_класса [: предки]{

[атрибуты][спецификаторы] тип имя_поля [= значение];

[атрибуты][спецификаторы] тип имя_метода(параметры){ тело метода }

[атрибуты][спецификаторы] тип имя свойства{

[спецификаторы] get { тело } [спецификаторы] set { тело }

}}

Page 12: Программирование на языке  C#

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#

EPAM Systemswww.epam.com

Спецификаторы доступа

• Методы и поля– private (по умолчанию)– public– internal– static– protected (наследование)– protected internal (наследование)– abstract (только для методов, полиморфизм)– new (только для методов, наследование)– override (только для методов, полиморфизм)

Page 14: Программирование на языке  C#

EPAM Systemswww.epam.com

Спецификаторы доступа

• Класс– internal (по умолчанию)– public– static– sealed (наследование)– abstract (полиморфизм)

Page 15: Программирование на языке  C#

EPAM Systemswww.epam.com

Контактная информация:Александр КузнецовИнструкторEPAM Systems, Inc.Адрес: Саратов, Рахова, 181Email: [email protected] http://www.epam.com