це властивості об'єкта, тобто те, що, стосується його стану або визначає його поведінку, виділяється в єдину програмну одиницю або якийсь абстрактний клас. Об'єктно-орієнтоване проектування засноване на абстрактному об'єднанні об'єктів, вирішенні одних і тих же завдань, в класи. У вигляді класу можна представити будь-яку загальноприйняту абстракцію даних. p align="justify"> Абстрагування і інкапсуляція доповнюють один одного. Абстрагування направлено на спостереження за об'єктом, а інкапсуляція займається внутрішнім пристроєм об'єкта - це приховування деяких елементів абстракції (які не зачіпають істотних характеристик об'єкта як цілого). p align="justify"> Треба виділити дві частини в описі абстракції. Перша - це інтерфейс (взаємодія). Це основні характеристики стану, поведінки об'єкта. Він описує зовнішню поведінку об'єкта типу class. Взагалі описує абстракцію поведінки всіх об'єктів даного класу. У цій частині зібрано все, що стосується взаємодії цього об'єкта з будь-якими іншими об'єктами. p align="justify"> Тобто те, як зроблено зовні Бутч.
Друга - реалізація, являє собою недоступні ззовні елементи реалізації абстракції (внутрішня організація абстракції і механізми реалізації її поведінки). Приховує всі деталі. p align="justify"> Тобто те, як зроблено зсередини Бутч.
Спадкування класів - це основа ООП, дозволяє збільшити масштабованість програм, реалізувати повторне використання коду. Програма, яка використовує об'єкти базового класу може бути розширена без зміни старого коду шляхом побудови похідних класів від базового. Використання нових об'єктів у похідних класах. Це досягається угодою про спадкування: об'єкти похідного класу містять всі елементи базового класу (поля і методи), як якщо б ці елементи були описані в самому похідному класі. p align="justify"> Відпадає необхідність багаторазового переписування одних і тих же визначень базового класу, з'являється можливість користуватися ними, як вони є. У базовому класі треба визначити які права доступу ми надаємо похідним класу. p align="justify"> Похідний клас може успадковувати базовий як private, як public і як protected. Це впливає на можливість майбутнього розширення ієрархії класів та інтерпретації цілей самого успадкування. p align="justify"> Для створення нового класу всередині проекту необхідно вибрати пункт Add New Item/Class, після чого відкриється вікно нового класу.
Визначення нового класу:
[Уровень_доступа] Class імя_класса ім'я - будь коректне
[Inherits імя_класса-предка]
[Implements Імена_інтерфейсов]
... 'Список складу класу властивості та методи нового классаClass
Уровен...