🗊Презентация Классы и ООП

Нажмите для полного просмотра!
Классы и ООП, слайд №1Классы и ООП, слайд №2Классы и ООП, слайд №3Классы и ООП, слайд №4Классы и ООП, слайд №5Классы и ООП, слайд №6Классы и ООП, слайд №7Классы и ООП, слайд №8Классы и ООП, слайд №9Классы и ООП, слайд №10Классы и ООП, слайд №11Классы и ООП, слайд №12Классы и ООП, слайд №13Классы и ООП, слайд №14Классы и ООП, слайд №15Классы и ООП, слайд №16Классы и ООП, слайд №17Классы и ООП, слайд №18Классы и ООП, слайд №19Классы и ООП, слайд №20

Вы можете ознакомиться и скачать презентацию на тему Классы и ООП. Доклад-сообщение содержит 20 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

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


Слайд 1





Классы и ООП

 Лекция 3
Виденин Сергей Александрович
Описание слайда:
Классы и ООП Лекция 3 Виденин Сергей Александрович

Слайд 2





Гради Буч дает следующее определение объекта:
Объект - это мыслимая или реальная сущность, обладающая характерным поведением и отличительными характеристиками и являющаяся важной в предметной области
Описание слайда:
Гради Буч дает следующее определение объекта: Объект - это мыслимая или реальная сущность, обладающая характерным поведением и отличительными характеристиками и являющаяся важной в предметной области

Слайд 3


Классы и ООП, слайд №3
Описание слайда:

Слайд 4





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

Слайд 5





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

Слайд 6





Недостатки ООП 
идеи ООП не просты для понимания и в особенности для  практического использования
для эффективного использования существующих объектно-ориентированных систем и библиотек требуется большой объем первоначальных знаний
неграмотное применение ООП может привести к значительному ухудшению характеристик разрабатываемой программы 
некоторое снижение быстродействия программы, связанное с использованием виртуальных методов
Описание слайда:
Недостатки ООП идеи ООП не просты для понимания и в особенности для практического использования для эффективного использования существующих объектно-ориентированных систем и библиотек требуется большой объем первоначальных знаний неграмотное применение ООП может привести к значительному ухудшению характеристик разрабатываемой программы некоторое снижение быстродействия программы, связанное с использованием виртуальных методов

Слайд 7





Роли класса
Класс - это модуль, архитектурная единица построения программной системы.
Класс - это тип данных, задающий реализацию некоторой абстракции данных, характерной для задачи, в интересах которой создается программная система. 
Состав класса, его размер определяется не архитектурными соображениями, а той абстракцией данных, которую должен реализовать класс. Если вы создаете класс Account, реализующий такую абстракцию как банковский счет, то в этот класс нельзя добавить поля из класса Car, задающего автомобиль.
Описание слайда:
Роли класса Класс - это модуль, архитектурная единица построения программной системы. Класс - это тип данных, задающий реализацию некоторой абстракции данных, характерной для задачи, в интересах которой создается программная система.  Состав класса, его размер определяется не архитектурными соображениями, а той абстракцией данных, которую должен реализовать класс. Если вы создаете класс Account, реализующий такую абстракцию как банковский счет, то в этот класс нельзя добавить поля из класса Car, задающего автомобиль.

Слайд 8





Синтаксис класса
[атрибуты][модификаторы]class имя_класса[:список_родителей] {тело_класса}
public class Rational {тело_класса}
В теле класса могут быть объявлены:
константы ;
поля ;
конструкторы и деструкторы ;
методы ;
события;
делегаты;
классы (структуры, интерфейсы, перечисления).
Описание слайда:
Синтаксис класса [атрибуты][модификаторы]class имя_класса[:список_родителей] {тело_класса} public class Rational {тело_класса} В теле класса могут быть объявлены: константы ; поля ; конструкторы и деструкторы ; методы ; события; делегаты; классы (структуры, интерфейсы, перечисления).

Слайд 9





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

Слайд 10





Доступ к полям
Каждое поле имеет модификатор доступа, принимающий одно из четырех значений: public, private, protected, internal. 
Независимо от значения атрибута доступа, все поля доступны для всех методов класса.
Если некоторые поля должны быть доступны для методов классов B1, B2 и так далее, дружественных по отношению к классу A, то эти поля следует снабдить атрибутом internal, а все дружественные классы B поместить в один проект (assembly). 
Описание слайда:
Доступ к полям Каждое поле имеет модификатор доступа, принимающий одно из четырех значений: public, private, protected, internal.  Независимо от значения атрибута доступа, все поля доступны для всех методов класса. Если некоторые поля должны быть доступны для методов классов B1, B2 и так далее, дружественных по отношению к классу A, то эти поля следует снабдить атрибутом internal, а все дружественные классы B поместить в один проект (assembly). 

Слайд 11





Методы класса
Методы класса синтаксически являются обычными процедурами и функциями языка.
Методы содержат описания операций, доступных над объектами класса. 
Два объекта одного класса имеют один и тот же набор методов.
Описание слайда:
Методы класса Методы класса синтаксически являются обычными процедурами и функциями языка. Методы содержат описания операций, доступных над объектами класса. Два объекта одного класса имеют один и тот же набор методов.

Слайд 12





Доступ к методам
Каждый метод имеет модификатор доступа, принимающий одно из четырех значений: public, private, protected,internal. 
Понятно, что класс, у которого все методы закрыты, абсурден, поскольку никто не смог бы вызвать ни один из его методов.
Интерфейс - это лицо класса и именно он определяет, чем класс интересен своим клиентам, что он может делать, какие сервисы предоставляет клиентам. 
Закрытые методы составляют важную часть класса, позволяя клиентам не вникать во многие детали реализации
изменения в закрытых методах никак не отражаются на клиентах класса при условии корректной работы открытых методов.
Описание слайда:
Доступ к методам Каждый метод имеет модификатор доступа, принимающий одно из четырех значений: public, private, protected,internal.  Понятно, что класс, у которого все методы закрыты, абсурден, поскольку никто не смог бы вызвать ни один из его методов. Интерфейс - это лицо класса и именно он определяет, чем класс интересен своим клиентам, что он может делать, какие сервисы предоставляет клиентам.  Закрытые методы составляют важную часть класса, позволяя клиентам не вникать во многие детали реализации изменения в закрытых методах никак не отражаются на клиентах класса при условии корректной работы открытых методов.

Слайд 13





Методы-свойства
Методы, называемые свойствами (Properties), представляют специальную синтаксическую конструкцию, предназначенную для обеспечения эффективной работы со свойствами.
Пять наиболее употребительных стратегий:
чтение, запись ( Read, Write );
чтение, запись при первом обращении ( Read, Write-once );
только чтение ( Read-only );
только запись ( Write-only );
ни чтения, ни записи ( Not Read, Not Write ).
Описание слайда:
Методы-свойства Методы, называемые свойствами (Properties), представляют специальную синтаксическую конструкцию, предназначенную для обеспечения эффективной работы со свойствами. Пять наиболее употребительных стратегий: чтение, запись ( Read, Write ); чтение, запись при первом обращении ( Read, Write-once ); только чтение ( Read-only ); только запись ( Write-only ); ни чтения, ни записи ( Not Read, Not Write ).

Слайд 14





Рассмотрим класс Person
Пять полей: fam, status, salary, age, health
Для каждого из этих полей может быть разумной своя стратегия доступа. Возраст доступен для чтения и записи, фамилию можно задать только один раз, статус можно только читать, зарплата недоступна для чтения, а здоровье закрыто для доступа и только специальные методы класса могут сообщать некоторую информацию о здоровье персоны
Описание слайда:
Рассмотрим класс Person Пять полей: fam, status, salary, age, health Для каждого из этих полей может быть разумной своя стратегия доступа. Возраст доступен для чтения и записи, фамилию можно задать только один раз, статус можно только читать, зарплата недоступна для чтения, а здоровье закрыто для доступа и только специальные методы класса могут сообщать некоторую информацию о здоровье персоны

Слайд 15





Индексаторы
Свойства являются частным случаем метода класса с особым синтаксисом.
Добавим в класс Person свойство children, задающее детей персоны, сделаем это свойство закрытым, а доступ к нему обеспечит индексатор
const int Child_Max = 20; //максимальное число детей
Person[] children = new Person[Child_Max];
int count_children=0; //число детей
public Person this[int i] //индексатор
{
	get {if (i>=0 && i< count_children)return(children[i]);
			else return(children[0]);}
	set
	{
		if (i==count_children && i< Child_Max)
		 {children[i] = value; count_children++;}
	}
}
Описание слайда:
Индексаторы Свойства являются частным случаем метода класса с особым синтаксисом. Добавим в класс Person свойство children, задающее детей персоны, сделаем это свойство закрытым, а доступ к нему обеспечит индексатор const int Child_Max = 20; //максимальное число детей Person[] children = new Person[Child_Max]; int count_children=0; //число детей public Person this[int i] //индексатор { get {if (i>=0 && i< count_children)return(children[i]); else return(children[0]);} set { if (i==count_children && i< Child_Max) {children[i] = value; count_children++;} } }

Слайд 16





Статические поля и методы класса
У класса могут быть поля, связанные не с объектами, а с самим классом. Эти поля объявляются как статические с модификатором static. 
Статические поля доступны всем методам класса. 
Например, у класса Person может быть статическое поле message, в котором каждый объект может оставить сообщение для других объектов класса.
Аналогично полям, у класса могут быть и статические методы, объявленные с модификатором static.
Описание слайда:
Статические поля и методы класса У класса могут быть поля, связанные не с объектами, а с самим классом. Эти поля объявляются как статические с модификатором static.  Статические поля доступны всем методам класса.  Например, у класса Person может быть статическое поле message, в котором каждый объект может оставить сообщение для других объектов класса. Аналогично полям, у класса могут быть и статические методы, объявленные с модификатором static.

Слайд 17





Константы
В нашем классе Person была задана константа Child_Max, характеризующая максимальное число детей у персоны.
Описание слайда:
Константы В нашем классе Person была задана константа Child_Max, характеризующая максимальное число детей у персоны.

Слайд 18





Конструкторы класса
Конструктор представляет собой специальный метод класса, позволяющий создавать объекты класса. Одна из синтаксических особенностей этого метода в том, что его имя должно совпадать с именем класса.
Person pers1 = new Person(), pers2 = new Person(); Person pers3= new Person("Петрова");
Описание слайда:
Конструкторы класса Конструктор представляет собой специальный метод класса, позволяющий создавать объекты класса. Одна из синтаксических особенностей этого метода в том, что его имя должно совпадать с именем класса. Person pers1 = new Person(), pers2 = new Person(); Person pers3= new Person("Петрова");

Слайд 19





Разберем в деталях процесс создания
первым делом для сущности pers создается ссылка, пока висячая, со значением null ;
затем в динамической памяти создается объект - структура данных с полями, определяемыми классом Person. Поля объекта инициализируются значениями по умолчанию: ссылочные поля - значением null, арифметические - нулями, строковые - пустой строкой. Эту работу выполняетконструктор по умолчанию, который, можно считать, всегда вызывается в начале процесса создания. Заметьте, если инициализируется переменная значимого типа, то все происходит аналогичным образом, за исключением того, что объект создается в стеке;
если поля класса проинициализированы, как в нашем примере, то выполняется инициализацияполей заданными значениями;
если вызван конструктор с аргументами, то начинает выполняться тело этого конструктора. Как правило, при этом происходит инициализация отдельных полей класса значениями, переданными конструктору. Так, поле fam объекта pers3 получает значение "Петрова";
На заключительном этапе ссылка связывается с созданным объектом.
Описание слайда:
Разберем в деталях процесс создания первым делом для сущности pers создается ссылка, пока висячая, со значением null ; затем в динамической памяти создается объект - структура данных с полями, определяемыми классом Person. Поля объекта инициализируются значениями по умолчанию: ссылочные поля - значением null, арифметические - нулями, строковые - пустой строкой. Эту работу выполняетконструктор по умолчанию, который, можно считать, всегда вызывается в начале процесса создания. Заметьте, если инициализируется переменная значимого типа, то все происходит аналогичным образом, за исключением того, что объект создается в стеке; если поля класса проинициализированы, как в нашем примере, то выполняется инициализацияполей заданными значениями; если вызван конструктор с аргументами, то начинает выполняться тело этого конструктора. Как правило, при этом происходит инициализация отдельных полей класса значениями, переданными конструктору. Так, поле fam объекта pers3 получает значение "Петрова"; На заключительном этапе ссылка связывается с созданным объектом.

Слайд 20





Статический конструктор
Такойконструктор может выполнять некоторую предварительную работу, которую нужно выполнить один раз, например, связаться с базой данных, заполнить значения статических полей класса, создать константы класса, выполнить другие подобные действия.
static Person()
{
Console.WriteLine("Выполняется статический конструктор!");
}
Описание слайда:
Статический конструктор Такойконструктор может выполнять некоторую предварительную работу, которую нужно выполнить один раз, например, связаться с базой данных, заполнить значения статических полей класса, создать константы класса, выполнить другие подобные действия. static Person() { Console.WriteLine("Выполняется статический конструктор!"); }



Похожие презентации
Mypresentation.ru
Загрузить презентацию