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

Нажмите для полного просмотра!
Наследование. Правила наследования, слайд №1Наследование. Правила наследования, слайд №2Наследование. Правила наследования, слайд №3Наследование. Правила наследования, слайд №4Наследование. Правила наследования, слайд №5Наследование. Правила наследования, слайд №6Наследование. Правила наследования, слайд №7Наследование. Правила наследования, слайд №8Наследование. Правила наследования, слайд №9Наследование. Правила наследования, слайд №10Наследование. Правила наследования, слайд №11Наследование. Правила наследования, слайд №12Наследование. Правила наследования, слайд №13Наследование. Правила наследования, слайд №14Наследование. Правила наследования, слайд №15Наследование. Правила наследования, слайд №16Наследование. Правила наследования, слайд №17Наследование. Правила наследования, слайд №18Наследование. Правила наследования, слайд №19Наследование. Правила наследования, слайд №20Наследование. Правила наследования, слайд №21Наследование. Правила наследования, слайд №22Наследование. Правила наследования, слайд №23Наследование. Правила наследования, слайд №24Наследование. Правила наследования, слайд №25Наследование. Правила наследования, слайд №26Наследование. Правила наследования, слайд №27Наследование. Правила наследования, слайд №28

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

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


Слайд 1





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

Слайд 2





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

Слайд 3






#include <iostream> // Пример Counter   CountDn
using namespace std; 
class Counter                 //базовый класс
{
  protected:
    unsigned int count;       //счетчик
  public:
    Counter ( ) : count ( 0 ) { }  //конструктор без аргументов
    Counter ( int c ) : count ( c )  { }
    unsigned int get_count ( ) const
      { return count; }       // возвращает значение счетчика
    Counter operator++ ( ) //увеличивает  значение счетчика (префикс)
      { return Counter ( ++count ); }
};
class CountDn : public Counter//производный класс
{
  public:
    Counter operator-- ( )    //уменьшает значение счетчика
      { return Counter ( --count ); } };
Описание слайда:
#include <iostream> // Пример Counter CountDn using namespace std; class Counter //базовый класс { protected: unsigned int count; //счетчик public: Counter ( ) : count ( 0 ) { } //конструктор без аргументов Counter ( int c ) : count ( c ) { } unsigned int get_count ( ) const { return count; } // возвращает значение счетчика Counter operator++ ( ) //увеличивает значение счетчика (префикс) { return Counter ( ++count ); } }; class CountDn : public Counter//производный класс { public: Counter operator-- ( ) //уменьшает значение счетчика { return Counter ( --count ); } };

Слайд 4






int main ( )
{
  CountDn c1;                           // объект с1
  cout << "\n c1=" << c1.get_count ( ); //вывод на печать
  ++c1; ++c1; ++c1;         //увеличиваем c1 три раза
  
cout << "\n c1=" << c1.get_count ( ); //вывод на печать
  
--c1; --c1; //уменьшаем c1 два раза
  cout << "\n c1=" << c1.get_count ( ); //вывод на печать
  cout << endl;
  return 0;
Описание слайда:
int main ( ) { CountDn c1; // объект с1 cout << "\n c1=" << c1.get_count ( ); //вывод на печать ++c1; ++c1; ++c1; //увеличиваем c1 три раза cout << "\n c1=" << c1.get_count ( ); //вывод на печать --c1; --c1; //уменьшаем c1 два раза cout << "\n c1=" << c1.get_count ( ); //вывод на печать cout << endl; return 0;

Слайд 5


Наследование. Правила наследования, слайд №5
Описание слайда:

Слайд 6





Спецификаторы доступа в ситуации без наследовании
Описание слайда:
Спецификаторы доступа в ситуации без наследовании

Слайд 7





Спецификаторы доступа в ситуации с наследованием
Описание слайда:
Спецификаторы доступа в ситуации с наследованием

Слайд 8





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

Слайд 9





Область видимости
Описание слайда:
Область видимости

Слайд 10





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

Слайд 11





Иными словами:
Описание слайда:
Иными словами:

Слайд 12


Наследование. Правила наследования, слайд №12
Описание слайда:

Слайд 13





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

Слайд 14





class Base { // определение базового класса
class Base { // определение базового класса
         int i; //private по умолчанию
protected:
   int k;
public:
Base(){i=0; k=1;}
void set_i(int n); // установка i
         int get_i(){ // возврат i
return i;}
void show(){
cout<<i<<"  "<<k<<endl;}
}; //конец Base
class Derived : public Base { // производный класс
         int j;
  public:
   void set_j(int n);
   int mul(); //умножение i на k базового класса и на j производного
}; //конец Derived
//установка значения i в базовом классе
void Base::set_i(int n){
         i = n; }
//установка значения j в производном классе
void Derived::set_j(int n){
j = n;}
//возврат i*k из Base умноженного на  j из Derived
int Derived::mul(){
/*производный класс наследует функции-члены базового класса*/
         return j * get_i()*k;//вызов get_i() базового класса
}
Описание слайда:
class Base { // определение базового класса class Base { // определение базового класса          int i; //private по умолчанию protected:    int k; public: Base(){i=0; k=1;} void set_i(int n); // установка i          int get_i(){ // возврат i return i;} void show(){ cout<<i<<"  "<<k<<endl;} }; //конец Base class Derived : public Base { // производный класс          int j;   public:    void set_j(int n);    int mul(); //умножение i на k базового класса и на j производного }; //конец Derived //установка значения i в базовом классе void Base::set_i(int n){          i = n; } //установка значения j в производном классе void Derived::set_j(int n){ j = n;} //возврат i*k из Base умноженного на  j из Derived int Derived::mul(){ /*производный класс наследует функции-члены базового класса*/          return j * get_i()*k;//вызов get_i() базового класса }

Слайд 15


Наследование. Правила наследования, слайд №15
Описание слайда:

Слайд 16


Наследование. Правила наследования, слайд №16
Описание слайда:

Слайд 17


Наследование. Правила наследования, слайд №17
Описание слайда:

Слайд 18


Наследование. Правила наследования, слайд №18
Описание слайда:

Слайд 19


Наследование. Правила наследования, слайд №19
Описание слайда:

Слайд 20


Наследование. Правила наследования, слайд №20
Описание слайда:

Слайд 21


Наследование. Правила наследования, слайд №21
Описание слайда:

Слайд 22





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

Слайд 23





Виртуальные методы
Виртуальным называется метод, ссылка на который  разрешается на этапе выполнения программы
Перевод слова «virtual» в данном значении «фактический», т.е. ссылка разрешается по факту вызова
Описание слайда:
Виртуальные методы Виртуальным называется метод, ссылка на который разрешается на этапе выполнения программы Перевод слова «virtual» в данном значении «фактический», т.е. ссылка разрешается по факту вызова

Слайд 24


Наследование. Правила наследования, слайд №24
Описание слайда:

Слайд 25


Наследование. Правила наследования, слайд №25
Описание слайда:

Слайд 26





Рекомендации
Описание слайда:
Рекомендации

Слайд 27





Диаграммы классов на UML
Варианты изображения класса
Описание слайда:
Диаграммы классов на UML Варианты изображения класса

Слайд 28





Виды отношений между классами 
ассоциация 
(два класса концептуально взаимодействуют друг с другом);
наследование 
(отношение обобщения, «is a»);
агрегация (отношение целое/часть, «has a»);
строгая (композиция)
нестрогая (по ссылке)
зависимость
(отношение использования)
Описание слайда:
Виды отношений между классами ассоциация (два класса концептуально взаимодействуют друг с другом); наследование (отношение обобщения, «is a»); агрегация (отношение целое/часть, «has a»); строгая (композиция) нестрогая (по ссылке) зависимость (отношение использования)



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