Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
33 слайда
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
177.32 kB
Просмотров:
88
Скачиваний:
0
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд![Лекция . Структуры и классы](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img0.jpg)
Содержание слайда: Лекция 2. Структуры и классы
№2 слайд![Зачем группировать данные?](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img1.jpg)
Содержание слайда: Зачем группировать данные?
Какая должна быть сигнатура у функции, которая вычисляет длину отрезка на плоскости?
№3 слайд![Структуры Структура способ](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img2.jpg)
Содержание слайда: Структуры
Структура – способ синтаксически (и физически) сгруппировать логически связанные данные.
№4 слайд![Объявление структуры](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img3.jpg)
Содержание слайда: Объявление структуры
Структура – группа связанных переменных (составной тип данных).
Член структуры – переменная, которая является частью структуры.
Имя структуры – спецификатор пользовательского типа.
№5 слайд![Инициализация структуры](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img4.jpg)
Содержание слайда: Инициализация структуры
Перекрытие имен во вложенных областях видимости.
Допустимость типов с одинаковыми именами в одной области.
№6 слайд![Инициализация структуры](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img5.jpg)
Содержание слайда: Инициализация структуры
№7 слайд![Массивы структур Структура](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img6.jpg)
Содержание слайда: Массивы структур
Структура объявляет новый тип данных – можно использовать массивы этого типа.
№8 слайд![Указатели на структуры По](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img7.jpg)
Содержание слайда: Указатели на структуры
По аналогии с массивами, можно объявлять указатели на структуры.
№9 слайд![Структуры передаются в](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img8.jpg)
Содержание слайда: Структуры передаются в функцию по значению.
Структуры передаются в функцию по значению.
№10 слайд![Передача структур в функцию](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img9.jpg)
Содержание слайда: Передача структур в функцию (по ссылке)
Для объектов структур имеется возможность передачи параметра функции по ссылке.
№11 слайд![Объединение Состоит из](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img10.jpg)
Содержание слайда: Объединение
Состоит из нескольких переменных, которые разделяют одну и ту же область памяти.
Обеспечивает низкоуровневую поддержку принципов полиморфизма.
№12 слайд![Класс Определяет новый тип](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img11.jpg)
Содержание слайда: Класс
Определяет новый тип данных, который задает формат объекта.
Является логической абстракцией.
Включает как данные так и код, предназначенный для выполнения над этими данными.
Связывает данные с кодом – выполняет инкапсулирование .
Функции и переменные, входящие в класс называются его членами:
Член данных (поле, атрибут)
Функция-член (метод)
№13 слайд![Объявление класса Создается с](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img12.jpg)
Содержание слайда: Объявление класса
Создается с помощью ключевого слова class.
Объявление синтаксически подобно определению структуры.
№14 слайд![Определение функций класса](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img13.jpg)
Содержание слайда: Определение функций класса
Осуществляется с указанием класса, которому принадлежит функция
№15 слайд![Инвариант класса Публичный](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img14.jpg)
Содержание слайда: Инвариант класса
Публичный интерфейс – набор методов, доступный внешним пользователям класса.
Инвариант класса – утверждение, которое (должно быть) истинно применительно к любому объекту данного класса в любой момент времени (за исключением переходных процессов в методах объекта).
Для сохранения инвариантов класса:
Все поля должны быть закрытыми
Публичные методы должны сохранять инварианты класса
Закрытие полей позволяет абстрагироваться от способа хранения данных объекта.
№16 слайд![Модификаторы доступа Public](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img15.jpg)
Содержание слайда: Модификаторы доступа
Public – доступ открыт всем, кто видит определение данного класса;
Protected – доступ открыт классам, производным от данного;
Private – доступ открыт самому классу (т.е. функциям-членам данного класса) и друзьям (friend) данного класса, как функциям, так и классам.
По умолчанию все функции и поля класса объявлены закрытыми.
Поля рекомендуется делать закрытыми (private) и предоставлять доступ к ним через getValue и setValue методы.
№17 слайд![Встраиваемые функции inline](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img16.jpg)
Содержание слайда: Встраиваемые функции (inline)
Небольшая по объему функция, код которой подставляется в место её вызова.
№18 слайд![Неявный указатель this В](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img17.jpg)
Содержание слайда: Неявный указатель this
В каждой функции класса имеется указатель на объект, через который данная функция вызывается.
№19 слайд![Перегрузка функций](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img18.jpg)
Содержание слайда: Перегрузка функций
Определение нескольких функций с одинаковым именем, но различными параметрами.
№20 слайд![Абстракция и инкапсуляция](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img19.jpg)
Содержание слайда: Абстракция и инкапсуляция
№21 слайд![Определение констант Ключевое](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img20.jpg)
Содержание слайда: Определение констант
Ключевое слово const позволяет определять типизированные константы.
№22 слайд![Указатели и const Константный](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img21.jpg)
Содержание слайда: Указатели и const
Константный указатель и указатель на константу.
№23 слайд![Константные указатели Можно](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img22.jpg)
Содержание слайда: Константные указатели
Можно использовать следующее правильно:
«Слово const делает неизменяемым тип слева от него».
№24 слайд![Константные ссылки Сама по](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img23.jpg)
Содержание слайда: Константные ссылки
Сама по себе является неизменяемой.
№25 слайд![Константные методы Методы](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img24.jpg)
Содержание слайда: Константные методы
Методы классов могут быть объявлены как const.
№26 слайд![Константные методы Ключевое](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img25.jpg)
Содержание слайда: Константные методы
Ключевое слово const является частью сигнатуры метода.
№27 слайд![Синтаксическая и логическая](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img26.jpg)
Содержание слайда: Синтаксическая и логическая константность
Синтаксическая константность – константные методы не могут менять поля (обеспечивается компилятором).
Логическая константность – запрещено изменение данных, определяющих состояние объекта в константных методах.
№28 слайд![Ключевое слово mutable](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img27.jpg)
Содержание слайда: Ключевое слово mutable
Ключевое слово mutable позволяет определять поля, которые можно изменять внутри константных методов.
№29 слайд![Отличие структур и классов](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img28.jpg)
Содержание слайда: Отличие структур и классов
Структуры и классы – близкие родственники.
Единственное различие состоит в том, что по умолчанию члены класса являются закрытыми, а члены структуры – открытыми.
В соответствии с формальным синтаксисом С++ объявление структуры создает тип класса.
Структуры сохранены в С++ для совместимостью с С.
№30 слайд![Разбиение программы на файлы](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img29.jpg)
Содержание слайда: Разбиение программы на файлы
С небольшими файлами удобнее работать;
Разбиение на файлы структурирует код;
Позволяет нескольким программистам разрабатывать приложение одновременно;
Ускорение повторной компиляции при небольших изменениях в отдельных частях программы.
№31 слайд![Заголовочный файл Имеет](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img30.jpg)
Содержание слайда: Заголовочный файл
Имеет расширение .hpp;
Может содержать только объявление;
Не должен содержать определения;
Должен иметь механизм защиты от повторного включения.
№32 слайд![Файл реализации Имеет](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img31.jpg)
Содержание слайда: Файл реализации
Имеет расширение .cpp;
Может содержать как определения так и объявления;
Объявления будут локальны для данного файла;
Должен содержать директиву включения заголовочного файла;
Не должен содержать объявлений, дублирующих объявления в соответствующем заголовочном файле.
№33 слайд![Конец лекции](/documents_6/f4187a8dd3d6d5368f5ba99af78b5396/img32.jpg)
Содержание слайда: Конец лекции