🗊Презентация Классы и структуры в C++

Нажмите для полного просмотра!
Классы и структуры в C++, слайд №1Классы и структуры в C++, слайд №2Классы и структуры в C++, слайд №3Классы и структуры в C++, слайд №4Классы и структуры в C++, слайд №5Классы и структуры в C++, слайд №6Классы и структуры в C++, слайд №7Классы и структуры в C++, слайд №8Классы и структуры в C++, слайд №9Классы и структуры в C++, слайд №10Классы и структуры в C++, слайд №11Классы и структуры в C++, слайд №12Классы и структуры в C++, слайд №13Классы и структуры в C++, слайд №14Классы и структуры в C++, слайд №15Классы и структуры в C++, слайд №16Классы и структуры в C++, слайд №17Классы и структуры в C++, слайд №18Классы и структуры в C++, слайд №19Классы и структуры в C++, слайд №20Классы и структуры в C++, слайд №21Классы и структуры в C++, слайд №22Классы и структуры в C++, слайд №23Классы и структуры в C++, слайд №24Классы и структуры в C++, слайд №25Классы и структуры в C++, слайд №26Классы и структуры в C++, слайд №27Классы и структуры в C++, слайд №28Классы и структуры в C++, слайд №29Классы и структуры в C++, слайд №30Классы и структуры в C++, слайд №31Классы и структуры в C++, слайд №32Классы и структуры в C++, слайд №33Классы и структуры в C++, слайд №34Классы и структуры в C++, слайд №35Классы и структуры в C++, слайд №36Классы и структуры в C++, слайд №37Классы и структуры в C++, слайд №38Классы и структуры в C++, слайд №39Классы и структуры в C++, слайд №40Классы и структуры в C++, слайд №41Классы и структуры в C++, слайд №42Классы и структуры в C++, слайд №43Классы и структуры в C++, слайд №44Классы и структуры в C++, слайд №45Классы и структуры в C++, слайд №46

Содержание

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

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


Слайд 1





Лекция 4.
Классы
Описание слайда:
Лекция 4. Классы

Слайд 2





Классы и структуры в C++
Обеспечивают механизм создания собственных типов и определения различных действий над ними.
Обычно используются для описания различных понятий, фигурирующих в решаемой задаче.
Акцентируют внимание разработчика на моделировании данных, а не действий.
Описание слайда:
Классы и структуры в C++ Обеспечивают механизм создания собственных типов и определения различных действий над ними. Обычно используются для описания различных понятий, фигурирующих в решаемой задаче. Акцентируют внимание разработчика на моделировании данных, а не действий.

Слайд 3





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

Слайд 4





Основные элементы объектной модели
Описание слайда:
Основные элементы объектной модели

Слайд 5





Абстракция
Выделяет существенные характеристики некоторого объекта, отличающие его от других видов объектов.
Определяет концептуальные границы объекта с точки зрения наблюдателя.
Описание слайда:
Абстракция Выделяет существенные характеристики некоторого объекта, отличающие его от других видов объектов. Определяет концептуальные границы объекта с точки зрения наблюдателя.

Слайд 6





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

Слайд 7





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

Слайд 8





Модульность
Позволяет описать систему как набор компонентов с сильными внутренними связями и более слабыми внешними связями.
Уменьшает сложность системы.
Уровни модульности:
Файлы, каталоги…
Пространства имен, пакеты…
Описание слайда:
Модульность Позволяет описать систему как набор компонентов с сильными внутренними связями и более слабыми внешними связями. Уменьшает сложность системы. Уровни модульности: Файлы, каталоги… Пространства имен, пакеты…

Слайд 9





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

Слайд 10





Модель данных
Описание слайда:
Модель данных

Слайд 11





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

Слайд 12





Конструкторы
Описание слайда:
Конструкторы

Слайд 13





Деструкторы
    Деструктор — это метод класса который предназначен для уничтожения экземпляров класса, а также для освобождения ресурсов используемых в объектах класса (например освобождение памяти).
Деструктор не принимает параметров и не может возвращать значение.
Класс может иметь только один деструктор.
Имя деструктора начинается символом «~»
Деструкторы не могут перегружаться.
Деструкторы невозможно вызвать, они вызываются автоматически.
Если в классе не объявлен деструктор, то компилятор предоставит деструктор по умолчанию (стандартный деструктор). Стандартный деструктор не выполняет никаких действий.
Деструктор всегда вызывается при выходе объекта за пределы области видимости
Описание слайда:
Деструкторы Деструктор — это метод класса который предназначен для уничтожения экземпляров класса, а также для освобождения ресурсов используемых в объектах класса (например освобождение памяти). Деструктор не принимает параметров и не может возвращать значение. Класс может иметь только один деструктор. Имя деструктора начинается символом «~» Деструкторы не могут перегружаться. Деструкторы невозможно вызвать, они вызываются автоматически. Если в классе не объявлен деструктор, то компилятор предоставит деструктор по умолчанию (стандартный деструктор). Стандартный деструктор не выполняет никаких действий. Деструктор всегда вызывается при выходе объекта за пределы области видимости

Слайд 14





Деструкторы
Описание слайда:
Деструкторы

Слайд 15





Уровни доступа к членам класса
		Для поддержки принципа инкапсуляции, существуют три основных уровня доступа к членам класса. Приведем их в порядке открытости для внешних абстракций:
Открытый(public) доступ – члены с этим уровнем доступа видимы всем клиентам класса.
Защищенный(protected) доступ – члены этого уровня видимы самому классу, его подклассам, и абстракциям.
Закрытый(private) доступ – члены этого уровня видимы только изнутри самого класса.
Описание слайда:
Уровни доступа к членам класса Для поддержки принципа инкапсуляции, существуют три основных уровня доступа к членам класса. Приведем их в порядке открытости для внешних абстракций: Открытый(public) доступ – члены с этим уровнем доступа видимы всем клиентам класса. Защищенный(protected) доступ – члены этого уровня видимы самому классу, его подклассам, и абстракциям. Закрытый(private) доступ – члены этого уровня видимы только изнутри самого класса.

Слайд 16





Открытый(public) доступ
Описание слайда:
Открытый(public) доступ

Слайд 17





Защищенный(protected) доступ
Описание слайда:
Защищенный(protected) доступ

Слайд 18





Защищенный(protected) доступ
Описание слайда:
Защищенный(protected) доступ

Слайд 19





Закрытый(private) доступ
Описание слайда:
Закрытый(private) доступ

Слайд 20





Конструктор копирования
Описание слайда:
Конструктор копирования

Слайд 21





Конструктор копирования
Описание слайда:
Конструктор копирования

Слайд 22





Конструктор копирования
Описание слайда:
Конструктор копирования

Слайд 23





“public”-наследование
	Если класс объявлен как базовый для другого класса со спецификатором доступа «public»:
«public»-члены базового класса — доступны как «public»-члены производного класса;
«protected»-члены базового класса — доступны как «protected»-члены производного класса;
Описание слайда:
“public”-наследование Если класс объявлен как базовый для другого класса со спецификатором доступа «public»: «public»-члены базового класса — доступны как «public»-члены производного класса; «protected»-члены базового класса — доступны как «protected»-члены производного класса;

Слайд 24





“public”-наследование
Описание слайда:
“public”-наследование

Слайд 25





“private”-наследование
	«public»- и «protected»- члены базового класса –  доступны как «private»-члены производного класса.
Описание слайда:
“private”-наследование «public»- и «protected»- члены базового класса – доступны как «private»-члены производного класса.

Слайд 26





“private”-наследование
Описание слайда:
“private”-наследование

Слайд 27





“protected”-наследование
   «public» и «protected» - члены базового класса - доступны как «protected»-члены производного класса;
Описание слайда:
“protected”-наследование «public» и «protected» - члены базового класса - доступны как «protected»-члены производного класса;

Слайд 28





“protected”-наследование
Описание слайда:
“protected”-наследование

Слайд 29


Классы и структуры в C++, слайд №29
Описание слайда:

Слайд 30





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

Слайд 31





Абстрактный класс
Описание слайда:
Абстрактный класс

Слайд 32





Абстрактный класс
переменных и данных членов;
типов аргументов;
типов возвращаемых функциями значений;
типов явных преобразований.
Описание слайда:
Абстрактный класс переменных и данных членов; типов аргументов; типов возвращаемых функциями значений; типов явных преобразований.

Слайд 33





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

Слайд 34





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

Слайд 35





Виртуальные методы
Описание слайда:
Виртуальные методы

Слайд 36





Виртуальные методы
Описание слайда:
Виртуальные методы

Слайд 37





Виртуальные методы
Описание слайда:
Виртуальные методы

Слайд 38





Виртуальные методы
Описание слайда:
Виртуальные методы

Слайд 39





Виртуальный деструктор
Описание слайда:
Виртуальный деструктор

Слайд 40





Виртуальный деструктор
Описание слайда:
Виртуальный деструктор

Слайд 41





Виртуальный деструктор
        Если деструктор объявлен как виртуальный, то при вызове его через указатель на объект базового класса (через delete) будет вызван вначале деструктор производного класса, а затем деструктор базового класса.
Описание слайда:
Виртуальный деструктор Если деструктор объявлен как виртуальный, то при вызове его через указатель на объект базового класса (через delete) будет вызван вначале деструктор производного класса, а затем деструктор базового класса.

Слайд 42





Приведение типов
const_cast 
        Снимает cv qualifiers — const и volatile, то есть константность и отказ от оптимизации компилятором переменной. Это преобразование проверяется на уровне компиляции и в случае ошибки приведения типов будет выдано сообщение.
	Синтаксис:
TYPE const_cast<TYPE> (object);
Описание слайда:
Приведение типов const_cast Снимает cv qualifiers — const и volatile, то есть константность и отказ от оптимизации компилятором переменной. Это преобразование проверяется на уровне компиляции и в случае ошибки приведения типов будет выдано сообщение. Синтаксис: TYPE const_cast<TYPE> (object);

Слайд 43





Приведение типов
const_cast
Описание слайда:
Приведение типов const_cast

Слайд 44





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

Слайд 45





Приведение типов
dynamic_cast
		Используется для динамического приведения типов во время выполнения. В случае неправильного приведения типов для ссылок вызывается исключительная ситуация std::bad_cast, а для указателей будет возвращен 0. Использует систему RTTI (Runtime Type Information). Безопасное приведение типов по иерархии наследования, в том числе для виртуального наследования.  
	Синтаксис:
	TYPE& dynamic_cast<TYPE&> (object); 
	TYPE* dynamic_cast<TYPE*> (object);
Описание слайда:
Приведение типов dynamic_cast Используется для динамического приведения типов во время выполнения. В случае неправильного приведения типов для ссылок вызывается исключительная ситуация std::bad_cast, а для указателей будет возвращен 0. Использует систему RTTI (Runtime Type Information). Безопасное приведение типов по иерархии наследования, в том числе для виртуального наследования.  Синтаксис: TYPE& dynamic_cast<TYPE&> (object); TYPE* dynamic_cast<TYPE*> (object);

Слайд 46





Приведение типов
reinterpret_cast
		Приведение типов без проверки. reinterpret_cast — непосредственное указание компилятору. Применяется только в случае полной уверенности программиста в собственных действиях. Не снимает константность и volatile. применяется для приведения указателя к указателю, указателя к целому и наоборот. 
	Синтаксис:
TYPE reinterpret_cast<TYPE> (object);
Описание слайда:
Приведение типов reinterpret_cast Приведение типов без проверки. reinterpret_cast — непосредственное указание компилятору. Применяется только в случае полной уверенности программиста в собственных действиях. Не снимает константность и volatile. применяется для приведения указателя к указателю, указателя к целому и наоборот. Синтаксис: TYPE reinterpret_cast<TYPE> (object);



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