ють як успадковані ознаки, так і, можливо, нові. Наприклад, клас СОБАКИ успадкував багато властивостей своїх предків - ВОЛКОВ Третій принцип - це поліморфізм. Він означає, що в похідних класах ви можете змінювати роботу вже існуючих в базовому класі методів. При цьому весь програмний код, керуючий об'єктами батьківського класу, придатний для управління об'єктами дочірнього класу без всякої модифікації. Наприклад, ви можете породити новий клас кнопок з рельєфним написом, перевизначивши метод отрисовки кнопки. Нову кнопку можна" підсунути" замість стандартної в яку-небудь підпрограму, що викликає отрисовку кнопки. При цьому підпрограма «думає», що працює зі стандартною кнопкою, але насправді кнопка належить похідному класу і відображається в новому стилі.
Об'єктно-орієнтоване програмування в даний час є абсолютним лідером в області прикладного програмування (мови Java, C #, C + +, JavaScript, ActionScript та ін.) У той же час в області системного програмування досі лідирує парадигма процедурного програмування, і основною мовою програмування є мова C. Хоча при взаємодії системного і прикладного рівнів операційних систем помітний вплив стали надавати мови об'єктно-орієнтованого програмування. Наприклад, мультиплатформенним стандартом стала система Qt, написана мовою C + +.
Сі + + - це універсальна мова програмування, задуманий так, щоб зробити програмування більш приємним для серйозного програміста. За винятком другорядних деталей Сі + + є надбезліччю мови програмування Cи.
COM - об'єкти
COM (англponent Object Model - об'єктна модель компонентів) - це технологічний стандарт від компанії Microsoft, призначений для створення програмного забезпечення на основі взаємодіючих компонентів, кожен з яких може використовуватися в багатьох програмах одночасно. Стандарт втілює в собі ідеї поліморфізму і інкапсуляції об'єктно-орієнтованого програмування. Стандарт COM міг би бути універсальним і платформо-незалежним, але закріпився в основному на операційних системах сімейства Microsoft Windows. У сучасних версіях Windows COM використовується дуже широко. На основі COM були реалізовані технології: Microsoft OLE Automation, ActiveX, DCOM, COM +, DirectX, а також XPCOM.
Програми, побудовані на стандарті COM, фактично не є автономними програмами, а являють собою набір взаємодіючих між собою COM-компонентів. Кожен компонент має унікальний ідентифікатор (GUID) і може одночасно використовуватися багатьма програмами. Компонент взаємодіє з іншими програмами через COM-інтерфейси - набори абстрактних функцій і властивостей. Кожен COM-компонент повинен, як мінімум, підтримувати стандартний інтерфейс «IUnknown», який надає базові засоби для роботи з компонентом. Інтерфейс «IUnknown» включає в себе три методи: QueryInterface, AddRef, Release.API надає базові функції, що дозволяють використовувати COM-компоненти. Бібліотеки MFC і, особливо, ATL / WTL надають більш гнучкі та зручні засоби для роботи з COM. Бібліотека ATL від Microsoft до цих пір залишається найпопулярнішим засобом створення COM-компонентів. Але найчастіше COM-розробка залишається ще досить складною справою, програмістам доводиться вручну виконувати багато рутинні завдання, пов'язані з COM (особливо це помітно у випадку розробки на C + +). Згодом (в технологіях COM + і особенно) Microsoft спробувала спростити завдання ро...