object oriented programming c
Вступ до об’єктно-орієнтованого програмування на C ++.
За допомогою цього підручника ми розпочинаємо серію навчальних посібників, щоб дізнатись про С ++ як об’єктно-орієнтовану мову програмування.
Як ми знаємо, до об'єктно-орієнтованого програмування (ООП) програми писалися на процедурних мовах. Процесуальні мови наголошують на функціях. Більші проблеми розбиваються на менші підзадачі і записуються як функції.
=> Дивіться тут, щоб ознайомитися з повним списком підручників з C ++.
Процесуальні мови не звертали уваги на дані. Як результат, була можливість не вирішити проблему ефективно. Крім того, оскільки даними майже нехтували, безпеку даних було легко порушити.
Всі ці недоліки процедурного програмування були подолані об’єктно-орієнтованим програмуванням.
У цьому підручнику ми обговоримо основи об’єктно-орієнтованого програмування та коротше всі особливості ООП.
Що ви дізнаєтесь:
- Об'єктно-орієнтоване програмування на C ++
- Чому C ++ є частковим ООП?
- Функції ООП
- Переваги ООП
- Висновок
- Рекомендована література
Об'єктно-орієнтоване програмування на C ++
Об'єктно-орієнтоване програмування обертається навколо даних. Основним блоком програмування ООП є об'єкт. Об’єкт - це подання сутності в реальному часі і складається з даних та методів або функцій, що діють на дані. Таким чином, дані та функції тісно пов’язані та забезпечується безпека даних.
В ООП все представляється як об'єкт, і коли програми виконуються, об'єкти взаємодіють між собою, передаючи повідомлення. Об'єкт не повинен знати деталі реалізації іншого об'єкта для зв'язку.
Крім об'єктів, ООП підтримує різні функції, перелічені нижче:
- Заняття
- Капсуляція
- Абстракція
- Спадщина
- Поліморфізм
Використовуючи ООП, ми пишемо програми, використовуючи класи та об'єкти, використовуючи вищезазначені функції. Мова програмування називається справжньою об’єктно-орієнтованою мовою програмування, якщо все, що вона представляє, використовує об’єкт. Smalltalk - це одна мова, яка є чисто об'єктно-орієнтованою мовою програмування.
З іншого боку, мови програмування, такі як C ++ та Java, називаються частково об'єктно-орієнтованими мовами програмування.
Чому C ++ є частковим ООП?
Мова С ++ була розроблена з основним наміром використовувати об'єктно-орієнтовані функції для мови С.
Хоча мова С ++ підтримує такі функції ООП, як класи, об'єкти, успадкування, інкапсуляція, абстракція та поліморфізм, існує мало причин, через які С ++ класифікується як часткова об'єктно-орієнтована мова програмування.
що таке мережевий ключ на маршрутизаторі - -
Нижче ми наводимо кілька таких причин:
# 1) Створення класу / об’єктів є необов’язковим
У C ++ основна функція є обов'язковою і завжди знаходиться поза класом. Отже, ми можемо мати лише одну основну функцію в програмі і можемо обійтися без класів та об’єктів.
Це перше порушення мови Pure OOP, де все представлено як об’єкт.
# 2) Використання глобальних змінних
С ++ має концепцію глобальних змінних, які оголошені поза програмою, і доступ до яких може мати будь-яка інша сутність програми. Це порушує інкапсуляцію. Хоча C ++ підтримує інкапсуляцію щодо класів та об'єктів, він не дбає про це у випадку глобальних змінних.
# 3) Наявність функції друга
C ++ підтримує клас або функцію друга, які можна використовувати для доступу до приватних та захищених членів інших класів, зробивши їх другом. Це ще одна особливість С ++, яка порушує парадигму ООП.
На закінчення, хоча C ++ підтримує всі згадані вище функції ООП, він також надає функції, які можуть бути вирішенням цих функцій, щоб ми могли обійтися без них. Це робить C ++ частково об’єктно-орієнтованою мовою програмування.
Функції ООП
Тут ми представимо різні функції ООП, які використовуються для програмування.
Класи та об'єкти
Об'єкт є основною одиницею в об'єктно-орієнтованому програмуванні. Об’єкт містить дані та методи або функції, які працюють з цими даними. Предмети займають місце в пам'яті.
Клас, навпаки, є планом об'єкта. І навпаки, об’єкт можна визначити як екземпляр класу. Клас містить скелет об'єкта і не займає місця в пам'яті.
Давайте візьмемо Приклад об'єкта автомобіля. Автомобільний об'єкт з назвою 'Maruti' може мати такі дані, як колір; make, модель, обмеження швидкості тощо та такі функції, як прискорення. Визначаємо інший об’єкт “брод”. Це може мати подібні дані та функції, як у попереднього об'єкта, а також деякі додаткові доповнення.
Так само ми можемо мати численні об'єкти з різними іменами, що мають схожі дані та функції та деякі незначні варіації.
Таким чином, замість того, щоб визначати подібні дані та функції у цих різних об’єктах, ми визначаємо план цих об’єктів, який є класом під назвою Car. Кожен з наведених вище об’єктів буде екземплярами автомобіля цього класу.
Абстракція
Абстракція - це процес приховування від користувача недоречної інформації. Наприклад , коли ми керуємо автомобілем, спочатку запускаємо двигун, вставляючи ключ. Ми не знаємо про процес, який триває у фоновому режимі при запуску двигуна.
спокійні веб-служби тестування запитань на співбесіду
Використовуючи абстракцію в програмуванні, ми можемо приховати від користувача непотрібні деталі. Використовуючи абстракцію в нашому додатку, це не впливає на кінцевого користувача, навіть якщо ми змінюємо внутрішню реалізацію.
Капсуляція
Інкапсуляція - це процес, за допомогою якого дані та методи чи функції, що діють на них, об’єднуються в одну. Роблячи це, дані не легко доступні для зовнішнього світу. В ООП ми досягаємо інкапсуляції, роблячи членів даних приватними та маючи публічні функції доступу до цих членів даних.
Спадщина
Використовуючи об'єкт успадкування одного класу, можна успадкувати або придбати властивості об'єкта іншого класу. Спадщина забезпечує повторне використання коду.
Таким чином, ми можемо створити новий клас, придбавши властивості та функціональність іншого класу, і в цьому процесі нам не потрібно змінювати функціональність батьківського класу. Ми додаємо лише нові функції до класу.
Поліморфізм
Поліморфізм означає багато форм.
Поліморфізм є важливою особливістю ООП і зазвичай реалізується як перевантаження оператора або перевантаження функції. Перевантаження оператора - це процес, при якому оператор поводиться по-різному в різних ситуаціях. Так само, при перевантаженні функції одна і та ж функція поводиться по-різному в різних ситуаціях.
Динамічне прив'язка
OOP підтримує динамічне прив'язування, при якому виклик функції вирішується під час виконання. Це означає, що код, який буде виконаний в результаті виклику функції, приймається під час виконання. Віртуальні функції є прикладом динамічного прив'язки.
Повідомлення передається
В ООП об'єкти спілкуються між собою за допомогою повідомлень. Коли об’єкти спілкуються, інформація передається між об’єктами вперед і назад. Повідомлення, як правило, складається з імені об’єкта, імені методу та фактичних даних, які слід надіслати іншому об’єкту.
Переваги ООП
Давайте обговоримо деякі переваги ООП.
# 1) Багаторазове використання
OOP дозволяє повторно використовувати існуючий код через успадкування. Ми можемо легко придбати існуючу функціональність та вдосконалити її, не переписуючи код знову. Це призводить до менш роздутого коду.
# 2) Модульність
Оскільки ми модулюємо програму в ООП, її легко змінити або усунути неполадки, якщо виникає проблема або потрібно додати нову функцію чи вдосконалення. Модуляризація також допомагає зрозуміти код і робить його більш читабельним.
# 3) Гнучкість
ООП допомагає нам у гнучкому програмуванні, використовуючи функцію поліморфізму. Оскільки поліморфізм набуває різних форм, ми можемо мати оператори або функції, які працюватимуть із багатьма об’єктами, і таким чином позбавляти нас від запису різних функцій для кожного об’єкта.
# 4) Технічне обслуговування
Ведення коду простіше, оскільки легко додавати нові класи, об’єкти тощо без особливої перебудови чи змін.
# 5) Приховування даних та інформації
ООП допомагає нам приховувати дані, тим самим захищаючи інформацію від витоку. Користувачу доступні лише ті дані, які необхідні для безперебійного функціонування програми, приховуючи внутрішні деталі.
Висновок
ООП - це найважливіша і гнучка парадигма програмування сучасного програмування. Це особливо корисно для моделювання реальних проблем, і тому є дуже популярним.
У цьому посібнику ми обговорювали різні особливості ООП. Надалі ми детально обговоримо всі ці особливості.
Наступна тема цієї серії “ООП із C ++” буде зосереджена на класах та об’єктах у деталях.
=> Клацніть тут, щоб переглянути абсолютну серію навчальних програм C ++.
Рекомендована література
- ООП Java: Вступ до об’єктно-орієнтованого програмування на Java
- Типи даних C ++
- 10 найкращих інструментів науки про дані в 2021 році для усунення програмування
- Абстракція даних на C ++
- Вступ до структур даних на C ++
- Підручник з труб Unix: Труби в програмуванні Unix
- Підручник QTP # 8 - Дізнайтеся про режими запису QTP, Object Spy та сховища об’єктів
- 70+ НАЙКРАЩИХ підручників для C ++ для вивчення програмування на C ++ БЕЗКОШТОВНО