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();


 

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

69390. Зовнішні запам’ятовуючі пристрої (ЗЗП) 1.86 MB
  Тут розрізняють такі класи: магнітні ЗЗП Оптичні Напівпровідникові За способом доступу до інформації А послідовні ЗЗП типу стрічки Б з прямим доступом За способом запису інформації А з одноразовим записом Б з багаторазовим записом з можливістю перезапису інформації...
69391. Накопичувачі на магнітних барабанах 1.17 MB
  Накопичувачі на магнітних стрічках Носієм інформації є гнучка магнітна стрічка основою є пластмасова стрічка покрита з обох сторін тонким шаром магнітної плівки поверх якої наноситься тонкий шар захисного лаку.
69393. Лазерні принтери (електро-графічні принтери) 42 KB
  Пристрої введення виведенення мови Спілкування користувача із комп’ютером мовою голосом вважається найбільш перспективним з часу початку широкого застосування комп’ютерів однак реалізувати цю задачу ефективними засобами не вдалося проектувальникам і до сьогоднішнього часу і в даний час...
69395. Інтерфейс ПП IBM 360-370 57 KB
  Він передбачає взаємодію на магістралі канали введення виведення та периферійних пристроїв які в даному інтерфейсі називаються абонентами. Абоненти фізично під’єднуються до магістралі короткими відведеннями.