🗊Презентация Наследование

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

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

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


Слайд 1





Тема 13
Наследование
Описание слайда:
Тема 13 Наследование

Слайд 2





Что такое наследование?
Наследование – отношение между двумя классами (предком и потомком),когда объект-потомок повторяет элементы структуры и поведения предка.
Наследование призвано отображать иерархичность реального мира:
Описание слайда:
Что такое наследование? Наследование – отношение между двумя классами (предком и потомком),когда объект-потомок повторяет элементы структуры и поведения предка. Наследование призвано отображать иерархичность реального мира:

Слайд 3





Пример иерархии понятий
Описание слайда:
Пример иерархии понятий

Слайд 4





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

Слайд 5





Возможности наследования
Добавлять в производном классе данные, которые представляет базовый класс
Дополнять в производном классе функциональные возможности  базового класса
Модифицировать в производном классе методы базового класса
НЕЛЬЗЯ:
Модифицировать в производном классе данные, представленные базовым классом (сохранив их идентификаторы)
Описание слайда:
Возможности наследования Добавлять в производном классе данные, которые представляет базовый класс Дополнять в производном классе функциональные возможности базового класса Модифицировать в производном классе методы базового класса НЕЛЬЗЯ: Модифицировать в производном классе данные, представленные базовым классом (сохранив их идентификаторы)

Слайд 6





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

Слайд 7





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

Слайд 8





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

Слайд 9





Реализация наследования
class имяклассанаследника : 
private | public | protected // ключидоступа
базовыйкласс
{телокласса};
Описание слайда:
Реализация наследования class имяклассанаследника : private | public | protected // ключидоступа базовыйкласс {телокласса};

Слайд 10





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

Слайд 11





Пример наследования: точка в трёхмерном пространстве
class Point3D: public Point2D{
private:
  double z;
public:
  Point3D(double=0, double=0, double=0);
  double GetZ() const;  
  void SetZ(double az);
  double Module() const;  
…
};
Описание слайда:
Пример наследования: точка в трёхмерном пространстве class Point3D: public Point2D{ private: double z; public: Point3D(double=0, double=0, double=0); double GetZ() const; void SetZ(double az); double Module() const; … };

Слайд 12





Реализация класса Point3D
Point3D::Point3D(double ax, double ay, double az):
  Point2D(ax, ay), z(az){}
double Point3D::GetZ() const { return z; }
void Point3D::SetZ(double az) {z = az;}
double Point3D:: Module() const 
{ return sqrt(x*x + y*y + z*z); }
// не будет компилироваться из-за запрета 
// на доступ к x и y, если эти поля не объявлены 
// со спецификатором protected 
// Правильный вариант:
double Point3D::Module() const {
  double x = GetX(), y = GetY();
  return sqrt(x*x + y*y + z*z); 
)
Описание слайда:
Реализация класса Point3D Point3D::Point3D(double ax, double ay, double az): Point2D(ax, ay), z(az){} double Point3D::GetZ() const { return z; } void Point3D::SetZ(double az) {z = az;} double Point3D:: Module() const { return sqrt(x*x + y*y + z*z); } // не будет компилироваться из-за запрета // на доступ к x и y, если эти поля не объявлены // со спецификатором protected // Правильный вариант: double Point3D::Module() const { double x = GetX(), y = GetY(); return sqrt(x*x + y*y + z*z); )

Слайд 13





Доступ к методам предка

double Point3D::GetRo () const {
  return Point2D::Module();
}
Описание слайда:
Доступ к методам предка double Point3D::GetRo () const { return Point2D::Module(); }

Слайд 14





Особенности реализации наследования
Конструкторы не наследуются;
Деструктор не наследуется;
Переопределённая операция присваивания не наследуется;
Нет класса – прародителя всех классов.
Описание слайда:
Особенности реализации наследования Конструкторы не наследуются; Деструктор не наследуется; Переопределённая операция присваивания не наследуется; Нет класса – прародителя всех классов.

Слайд 15





Соответствие и преобразование типов при наследовании
В левой части операции присваивания может стоять предок, а в правой – потомок (но не наоборот!)
В левой части операции присваивания может стоять указатель на предка, а в правой – указатель на потомка (но не наоборот!)
С помощью операции new можно указателю на предка присвоить адрес памяти, выделенной потомку (но не наоборот);
Если формальный параметр функции – предок (указатель или ссылка), то фактическим параметром может быть потомок (указатель или ссылка).
Описание слайда:
Соответствие и преобразование типов при наследовании В левой части операции присваивания может стоять предок, а в правой – потомок (но не наоборот!) В левой части операции присваивания может стоять указатель на предка, а в правой – указатель на потомка (но не наоборот!) С помощью операции new можно указателю на предка присвоить адрес памяти, выделенной потомку (но не наоборот); Если формальный параметр функции – предок (указатель или ссылка), то фактическим параметром может быть потомок (указатель или ссылка).

Слайд 16





Соответствие и преобразование типов при наследовании (примеры)
Описание слайда:
Соответствие и преобразование типов при наследовании (примеры)

Слайд 17





Соответствие и преобразование типов при наследовании (примеры)
Описание слайда:
Соответствие и преобразование типов при наследовании (примеры)



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