logo

C++ OOPs fogalmak

A C++ programozás fő célja az objektum orientáció fogalmának bevezetése a C programozási nyelvbe.

Az objektumorientált programozás olyan paradigma, amely számos fogalmat biztosít, mint pl öröklődés, adatkötés, polimorfizmus stb.

A programozási paradigma, ahol minden objektumként van ábrázolva, valóban objektum-orientált programozási nyelvként ismert. Csevej az első valóban objektum-orientált programozási nyelv.


OOPs (objektum-orientált programozási rendszer)

Tárgy valódi szó entitást jelent, mint például toll, szék, asztal stb. Objektumorientált programozás egy módszer vagy paradigma egy program osztályok és objektumok használatával történő tervezésére. Néhány fogalommal leegyszerűsíti a szoftverfejlesztést és karbantartást:

gimp mentés jpeg formátumban
Cpp Hoppá, 1. koncepció
  • Tárgy
  • Osztály
  • Öröklés
  • Polimorfizmus
  • Absztrakció
  • Egységbezárás

Tárgy

Minden entitást, amelynek állapota és viselkedése van, objektumnak nevezünk. Például: szék, toll, asztal, billentyűzet, kerékpár stb. Lehet fizikai és logikai.

Osztály

Tárgyak gyűjteménye osztálynak nevezik. Ez egy logikai entitás.

A C++ osztály az alapelem, amely az objektum-orientált programozáshoz vezet. A felhasználó által meghatározott adattípus adattagjainak és tagfüggvényeinek eléréséhez és használatához egy osztálypéldányt kell létrehozni. Egy objektum osztálya a tervrajzaként működik. Vegyük például az autók osztályát. Még akkor is, ha különböző nevek és márkák használhatók a különböző autókhoz, mindegyiknek van néhány közös jellemzője, például négy kerék, sebességkorlátozás, mérföldes hatótáv stb. Ebben az esetben az autó osztályát a a kerekek, a sebességkorlátozások és a futásteljesítmény.

Öröklés

Amikor egy objektum elsajátítja a szülőobjektum összes tulajdonságát és viselkedését azaz öröklődésként ismert. A kód újrafelhasználhatóságát biztosítja. Futásidejű polimorfizmus elérésére használják.

  1. Alosztály – Alosztály vagy származtatott osztály olyan osztályra utal, amely egy másik osztálytól kap tulajdonságokat.
  2. Szuperosztály – Az „alaposztály” vagy „szuperosztály” kifejezés arra az osztályra utal, amelyből az alosztály örökli tulajdonságait.
  3. Újrafelhasználhatóság - Ennek eredményeként, ha új osztályt szeretnénk létrehozni, de egy meglévő osztály már tartalmazza a szükséges kód egy részét, akkor az öröklődésnek köszönhetően a régi osztályból generálhatjuk új osztályunkat. Ez lehetővé teszi számunkra, hogy a már meglévő osztály mezőit és metódusait használjuk.

Polimorfizmus

Amikor egy feladatot különböző módokon hajtanak végre azaz polimorfizmusként ismert. Például: a megrendelőt másképp meggyőzni, lerajzolni valamit pl. forma vagy téglalap stb.

Különböző helyzetek okozhatják a műveletek eltérő viselkedését. A műveletben felhasznált adatok típusa határozza meg a viselkedést.

Absztrakció

A belső részletek elrejtése és a funkciók megjelenítése absztrakciónak nevezik. Az adatabsztrakció az a folyamat, amikor csak a feltétlenül szükséges információkat tárjuk a külvilág elé, miközben elrejtjük a megvalósítást vagy a háttérinformációkat. Például: telefonhívás, a belső feldolgozást nem ismerjük.

A C++ nyelven absztrakt osztályt és interfészt használunk az absztrakció eléréséhez.

Egységbezárás

A kód és az adatok egyetlen egységbe való összefűzését (vagy becsomagolását) beágyazásnak nevezzük. Például: kapszula, különböző gyógyszerekkel van csomagolva.

csonkolja és törölje a különbséget

A beágyazás általában a kapcsolódó információk és adatok egyetlen entitásba történő csoportosítását jelenti. A beágyazás az adatok és a velük működő funkciók összekapcsolásának folyamata az objektumorientált programozásban. Vessen egy pillantást a beágyazás gyakorlati példájára: egy vállalatnál különböző részlegek léteznek, beleértve az értékesítési részleget, a pénzügyi részleget és a számviteli részleget. Minden pénzügyi tranzakciót a pénzügyi szektor kezel, amely minden pénzügyi adatról nyilvántartást is vezet. Hasonló módon az értékesítési részleg felelős az értékesítéssel kapcsolatos összes feladatért, és minden értékesítésről nyilvántartást vezet. Most előfordulhat egy olyan forgatókönyv, amikor valamilyen okból egy pénzügyi tisztviselőnek szüksége van egy adott hónap eladásaira vonatkozó összes információra. Az „értékesítési rész” gyűjtőfogalom alatt az összes alkalmazott egy csoportba kerül, aki befolyásolni tudja az értékesítési rész adatait. Az adatok absztrakciója vagy elrejtése a tokozás másik mellékhatása. Ugyanúgy, ahogy a tokozás elrejti az adatokat. A fent említett példában egyetlen másik terület sem férhet hozzá a szakaszok egyik adatához sem, például értékesítési, pénzügyi vagy számlák.

Dinamikus kötés - Dinamikus összerendelés esetén a döntés futás közben történik a függvényhívásra válaszul lefutó kódot illetően. Ehhez a C++ támogatja a virtuális függvényeket.

Az OOP-ok előnye az eljárás-orientált programozási nyelvhez képest

  1. Az OOPs megkönnyíti a fejlesztést és a karbantartást, ahol az eljárás-orientált programozási nyelvhez hasonlóan nem könnyű kezelni, ha a kód a projekt méretének növekedésével nő.
  2. Az OOP-ok az adatok elrejtését biztosítják, míg az eljárásorientált programozási nyelvben a globális adatok bárhonnan elérhetők.
  3. Az OOP-ok sokkal hatékonyabban szimulálják a valós eseményeket. Valódi szöveges probléma megoldását tudjuk biztosítani, ha az objektum-orientált programozási nyelvet használjuk.

Miért van szükségünk hoppá C++-ban?

A korai programozási módszereknek különböző hátrányai voltak, valamint a gyenge teljesítmény. A megközelítés nem tudta hatékonyan kezelni a valós problémákat, mivel az eljárásorientált programozáshoz hasonlóan nem lehetett újra felhasználni a kódot a programon belül, nehézségek adódtak a globális adathozzáféréssel stb.

Az osztályok és objektumok használatával az objektumorientált programozás egyszerűvé teszi a kód karbantartását. Mivel az öröklődés lehetővé teszi a kód újrafelhasználását, a program egyszerűbb, mert nem kell ugyanazt a kódot többször megírni. Az adatok elrejtését olyan ötletek is biztosítják, mint a beágyazás és az absztrakció.

Miért részleges oop a C++?

A C nyelv objektumorientált jellemzői voltak az elsődleges motiváció a C++ nyelv felépítése mögött.

A C++ programozási nyelv részleges objektum-orientált programozási nyelvként van besorolva, annak ellenére, hogy támogatja az OOP koncepciókat, beleértve az osztályokat, objektumokat, öröklődést, beágyazást, absztrakciót és polimorfizmust.

1) A fő függvénynek mindig a C++ osztályon kívül kell lennie, és kötelező. Ez azt jelenti, hogy nélkülözhetjük az osztályokat és az objektumokat, és egyetlen fő funkcióval rendelkezhetünk az alkalmazásban.

Ebben az esetben tárgyként fejeződik ki, ami az első alkalom, hogy megsértették a Pure OOP-t.

rögös rönk

2) A globális változók a C++ programozási nyelv olyan jellemzői, amelyek a programon belül bármely más objektummal elérhetők, és azon kívül vannak meghatározva. Itt megszakadt a tokozás. Annak ellenére, hogy a C++ ösztönzi az osztályok és objektumok tokozását, figyelmen kívül hagyja a globális változók esetében.

Túlterhelés

A polimorfizmusnak van egy túlterhelésnek nevezett részhalmaza is. Egy meglévő operátort vagy függvényt túlterheltnek mondunk, ha új adattípuson kell dolgozni.

Következtetés

Miután elolvasta ezt a kurzust az OOPS-koncepciókról C++ nyelven, meg fogja érteni az objektum-orientált programozás szükségességét, a C++ OOP-okat és az OOP-ok alapjait, mint például a polimorfizmus, az öröklődés, a beágyazás stb. A polimorfizmus és az öröklődés esetei mellett a C++ OOP-ok előnyeit is megismerte.