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

Post on 25-Jan-2016

64 views 4 download

description

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

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

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: Alexander_Kuznetsov1@epam.com http://www.epam.com