определено завладя света на програмирането, когато се появи и все още представлява основа за програмиране до голяма степен. В тази статия ще разгледаме обектно-ориентирано програмиране в C ++. Следните указания ще бъдат разгледани в тази статия,
готвач срещу анзибъл срещу кукла
- Какво е обектно-ориентирано програмиране?
- Характеристики на обектно-ориентираното програмиране
- Обекти
- Класове
- Капсулиране
- Абстракция
- Полиморфизъм
- Наследяване
Първи стъпки с тази статия за обектно-ориентирано програмиране в C ++
Какво е обектно-ориентирано програмиране?
Основната мотивация зад изобретението на обектно-ориентирания подход е да се премахнат някои от недостатъците, срещани в процедурния подход. В ООП данните се третират като критичен елемент в разработването на програмата и ограничават нейния поток около системата. Той свързва данните по-тясно с функцията, която работи върху него, и ги предпазва от случайно изменение от външни функции. Той позволява на проблема да проникне в редица обекти, наречени обекти и след това изгражда данни и функции около тези обекти. Данните на обект могат да бъдат достъпни само от функциите, свързани с този конкретен обект. Функциите на един обект обаче могат да имат достъп до функциите на други обекти, ако е необходимо.
Продължавайки с тази статия за обектно-ориентирано програмиране в C ++
Характеристики на обектно-ориентираното програмиране:
- Той набляга повече на данните, а не на процедурата.
- Програмите са разделени на обекти, което улеснява работата с тях.
- Структурите на данни са проектирани по такъв начин, че да характеризират обектите.
- Функции, които работятНаданните на даден обект се поставят заедно в структурата на данните.
- Данните са скрити и не могат да бъдат достъпни от външни функции без разрешение.
- Комуникацията между обектите може да се осъществи с помощта на функции.
- Добавянето на нови данни и функции стана лесно.
- Следва подхода отдолу нагоре при разработването на програмата.
Продължавайки с тази статия за обектно-ориентирано програмиране в C ++
Обекти
Обектите са най-основните обекти за изпълнение и средно време в ООП. Те могат да представляват дефинирани от потребителя и средните точки данни като вектори, време и списъци или всеки елемент, който програмата трябва да обработва. Проблемът с програмирането се анализира въз основа на обектите и естеството на комуникацията между тях. Обектите трябва да бъдат подбрани така, че да съвпадат тясно с обектите от реалния свят. Обектите заемат място в паметта и нямат свързан адрес. Докато изпълняващите обекти си взаимодействат, като си изпращат съобщения. Например, ако “Student” и * Student_roll_no ”са два обекта в програма, тогава обектът Student може да изпрати съобщение до обекта Student_roll_no с искане за свързаните с него марки. Всеки обект съдържа код за манипулиране на данните. Обектите могат да взаимодействат помежду си с данните или кода, без да се налага да знаят своите
Продължавайки с тази статия за обектно-ориентирано програмиране C ++
Класове
Целият набор от кодове на даден обект може да бъде направен от потребителя дефиниран тип данни с помощта на клас, всъщност обектите са променливи от класа на типа. След като дефинираме клас, можем да създадем произволен брой обекти, принадлежащи към класа. Всеки обект може да бъде свързан с данните от клас тип, с който са създадени. По този начин класът не е нищо друго освен колекция от обекти от подобен тип. Например мобилните устройства, лаптопите и интелигентните часовници са членове на класа електроника. Класовете са дефинирани от потребителя типове данни. Синтаксисът, използван за създаване на обект, е съвсем прост. Ако електрониката е дефинирана като клас, тогава изявлението електроника лаптоп ще създаде обект лаптоп, принадлежащ към класа електроника.
електроника лаптоп
Това ще създаде обектен лаптоп, принадлежащ към класа електроника.
Продължавайки с тази статия за обектно-ориентирано програмиране в C ++
Капсулиране
Капсулирането може да се определи като опаковане на данни и информация в една единица. В обектно-ориентираното програмиране капсулирането се дефинира като обвързване на данните и функциите, които ги манипулират.
Помислете за реалния пример за капсулиране, в училище има различни раздели като раздел на ученика, раздел учители, раздел сметки и др. Разделът ученик обработва всички дейности на ученика и води записи на всички данни, свързани с финансите. По същия начин разделът на учителя обработва всички свързани с него дейности и води записи на всички оценки и резултати на учениците. Сега може да възникне ситуация, когато по някаква причина студент от студентската секция се нуждае от всички данни за оценките и резултатите на всички ученици. В този случай той няма право да осъществява пряк достъп до данните от секция на учителя. Първо ще трябва да се свърже с някой учител в секцията за учители и след това да поиска от него да даде всички данни. Това е капсулирането. Тук данните от ученическия раздел и от учителския раздел, които могат да ги манипулират, са опаковани под едно и също име „раздел за учители“.
Продължавайки с тази статия
Абстракция
Абстракцията се отнася до показване само на важните и необходими характеристики на приложението и скриване на подробностите. В C ++ класовете могат да предоставят данни и функции на външния свят за достъп, запазвайки променливите скрити от директния достъп, или класовете дори могат да декларират всичко достъпно за всички или може би само за класовете, които го наследяват, можем да ги променим според нашите изисквания.
c ++ алгоритъм за сортиране
Това може да се направи с помощта на спецификатори за достъп. C ++ има 3 спецификатора за достъп:
- Частен
- Защитена
- Публично
Продължавайки с тази статия
Полиморфизъм
Думата полиморфизъм означава да има много форми. Можем да определим полиморфизма като способността на функция или данни да се показват в повече от една форма. Човек може да има различни характеристики едновременно. Като момче в същото време е студент, брат, син. Така че един и същ човек притежава различно поведение в различни ситуации. Това се нарича полиморфизъм.
Една операция може да покаже различно поведение според изискването в различни случаи. Поведението зависи от видовете използвани данни и изискванията им в операцията.
C ++ поддържа претоварване на оператора и претоварване на функции.
- Претоварване на оператора: Това е процесът на създаване на оператор да показва различно поведение в различни случаи.
- Претоварване на функцията: Претоварването на функцията използва едно име на функция за изпълнение на различни типове задачи.
Полиморфизмът се използва широко при осъществяването на наследяване.
услуга сега билет инструмент урок
Продължавайки с тази статия за обектно-ориентирано програмиране в C ++
Наследяване
Наследяването е процес, чрез който обектите от един клас могат да придобият свойствата, функциите и данните на обектите от друг клас. Той следва концепцията за йерархична класификация. Например птицата „врабче“ е част от класа „летяща птица“, която отново е част от класа „птица“. С помощта на този вид разделяне всеки производен клас споделя общи характеристики и данни с класа, от който е наследен. Наследството дава идеята за повторна употреба. Това означава, че можем да добавим допълнителни функции към съществуващ клас, без да модифицираме или да правим промени в него. Това е възможно чрез извличане на нов клас от съществуващия клас. Новият клас ще придобие комбинираните функции както на родителски, така и на детски клас.
Истинското използване на наследството е, че позволява на програмиста да използва повторно клас, който е почти, но не точно това, което иска, и да промени класа и да направи промени по такъв начин, че да не създава нежелани странични ефекти в останалите класове. Имайте предвид, че всеки подклас дефинира само онези характеристики, които са уникални за него, а останалата част той произлиза от своя родителски клас. Без използването на каквато и да е класификация, всеки клас би трябвало да включва изрично всички негови характеристики, което би отнело много време и усилия.
По този начин стигнахме до края на тази статия за „Обектно ориентирано програмиране в C ++“. Ако искате да научите повече, разгледайте от Edureka, доверена компания за онлайн обучение. Курсът за обучение и сертифициране на Java J2EE и SOA на Edureka е предназначен да ви обучи както за основните, така и за разширените Java концепции, заедно с различни Java рамки като Hibernate & Spring.
Имате въпрос към нас? Моля, споменете го в раздела за коментари на този блог и ние ще се свържем с вас възможно най-скоро.