46476

Объектное обобщение

Доклад

Информатика, кибернетика и программирование

Организация объектного обобщения: clss С1 { int x y z; public: void D1 { . clss Shpe { public: virtul void In = 0; ввод данных virtul void Out = 0; вывод данных virtul double re = 0; площадь }; Наследование механизм объектноориентированного программирования позволяющий описать новый класс на основе уже существующего родительского при этом свойства и функциональность родительского класса заимствуются новым классом. Наследование: Cинтаксис в языке C Наследование: Синтаксис в языке C clss { clss {...

Русский

2013-11-22

16.81 KB

1 чел.

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

Организация объектного обобщения:

class С1 {

 int x, y, z;

public:

 void D1() { /*...*/ }

 void P1() { /*...*/ }

}

Пример использования объектного обобщения

// Класс, обобщающий все имеющиеся фигуры.

class Shape {

public:

 virtual void In() = 0;  // ввод данных

 virtual void Out() = 0; // вывод данных

 virtual double Area() = 0; // площадь

};

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

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

Наследование: Cинтаксис в языке C#   Наследование: Синтаксис в языке C++

class A {      class A {

};       };

class B : A {      class B : public A {

};       };

Описание и использование виртуальных функций С++

• Если в предке функция определена как виртуальная, то функция в потомке, с тем же именем и набором параметров, автоматически становится виртуальной

• Виртуальные функции наследуются

• Потомки могут получить доступ к функции предка с помощью операции доступа к области видимости

Чисто виртуальные (абстрактные) функции и классы С++

Содержат признак "= 0" вместо тела: virtual void F() = 0;

Обязательно должны переопределяться в производном классе

Класс, содержащий хотя бы один чисто виртуальный метод, называется абстрактным

class A {

 // ...

public:

 virtual void F() = 0;

};

class B : public A {

 // ...

public:

 virtual void F() {

   wcout << L"Это класс B" << endl;

 }

};

A a;

A* a = new A;

B b;

A* a = new B;

Описание и использование виртуальных функций С#

Синтаксис языка С# по отношению к виртуальным функциям отличается от С++

• Виртуальные функции объявляются при помощи ключевых слов virtual или abstract

• При наличии хотябы одной абстрактной функции необходимо писать abstract перед именем класса

• Виртуальные функции явно переопределяются в потомках с помощью ключевого слова override

• Доступ к виртуальным функциям родительского класса из потомков производится при помощи ключевого слова base

Описание и использование виртуальных функций С#

 abstract class A {

   public abstract void F();

 }

class B : A {

   public override void F() { }

 }

A a = new A();

A a = new B();


 

А также другие работы, которые могут Вас заинтересовать

60304. Основы реанимации. Методические рекомендации 959.5 KB
  Понятно что этого времени будет достаточно для наступления необратимых изменений в коре головного мозга пострадавшего. Попытки оживления вдуванием воздуха в рот пострадавшего были впервые описаны в 1753 году в Санкт-Петербургских ведомостях когда профессор...
60305. Первая помощь при острой сердечно-сосудистой недостаточности 5.91 MB
  Практический навык первичная диагностика пострадавшего НМС и ИВЛ. Началу оказания первой медицинской помощи предшествует оперативное принятие верных и безопасных для спасателя решений так как этот шаг предопределяет успех и в сохранении жизни самого пострадавшего.
60306. Основы диагностики и реанимации (II) 4.99 MB
  Началу оказания первой медицинской помощи предшествует оперативное принятие верных и безопасных для спасателя решений так как этот шаг предопределяет успех и в сохранении жизни самого пострадавшего.
60307. ПЕРВАЯ ПОМОЩЬ ПРИ РАНЕНИЯХ 1.85 MB
  Общие принципы оказания первой помощи при ранениях остановка кровотечения дезинфекция раны фиксирование конечности обезболивание безопасная транспортировка. Соответственно признаками ранений будут являться следующие...
60309. ПЕРВАЯ ПОМОЩЬ ПРИ ТРАВМАХ ГОЛОВЫ И ШЕИ 1.91 MB
  Началу оказания первой медицинской помощи предшествует оперативное принятие верных и безопасных для спасателя решений так как этот шаг предопределяет успех и в сохранении жизни самого пострадавшего. Первичный осмотр пострадавшего...
60310. Первая помощь при повреждениях живота 2.86 MB
  Актуальность и виды повреждений живота. Закрытые повреждения живота первая помощь при них. Открытые повреждения живота первая помощь при них.
60312. ПЕРВАЯ ПОМОЩЬ ПРИ ТРАВМАХ И РАНЕНИЯХ ВЕРХНЕЙ КОНЕЧНОСТИ 513.5 KB
  Анатомические особенности верхней конечности. Признаки травм и переломов верхней конечности. Принципы оказания первой помощи при ранениях верхней конечности.