Mi a C ++ sablon osztály?

A sablon osztály, ahogy a neve is sugallja, az osztályok sablonja. A C ++ lehetőséget kínál nekünk egy olyan osztály létrehozására, amely tervként / sablonként szolgál a jövőbeli osztályok számára. A sablonosztály általános változókkal és „T” típusú módszerekkel rendelkezik, amelyeket később testreszabhatunk, hogy a követelmény szerint különféle adattípusokkal lehessen használni.

Meghatározás

A szokásos meghatározás szerint a C ++ sablonosztálya olyan osztály, amely lehetővé teszi a programozó számára, hogy általános adattípusokkal működjön. Ez lehetővé teszi az osztály felhasználását számos különféle adattípuson a követelményeknek megfelelően anélkül, hogy minden egyes típusra újra kellene írni.

A C ++ sablonosztály megértése

Ha a jobb megértés érdekében a sablonosztály valós példáját vesszük figyelembe, akkor azt tervnek tekinthetjük. Ha egy ingatlan építő egy városrészt tervez, akkor elkészíti a lakások elrendezését, amely tartalmazza az általános előírásokat, mint pl. Alaprajz, ajtók, ablakok elhelyezése stb. elképzelés arról, hogyan fog kinézni egy apartman nagyobb kép alapján. Ez felhasználható egyedi lakások megtervezésére, amelyek testreszabhatóak a tulajdonos preferenciái szerint, amelyek az adott lakásra jellemzőek, de az általános sablon az egész településen általános marad.

A sablon osztály hasonló vonalakon működik. Ha vállalati alkalmazást tervezünk, akkor több entitású lesz, amelyek képviselik az osztályokat. Minden osztálynak megvannak a sajátos tulajdonságai és módszerei. Kialakíthatunk azonban egy sablont is, amely képes lesz ezeket az entitásokat beilleszteni az adatbázisba. Ezt a példát a cikk következő részeiben fogjuk használni. De ha nem használjuk a sablonosztályt, akkor külön osztályokat kell írnunk a Létrehozás, Visszakeresés, Frissítés és Törlés műveletekhez. A sablon osztály használatával azonban ezt a munkát csak egyetlen osztály írásával végezhetjük el, ezzel csökkentve a sok időt és kiküszöbölve a sok redundáns duplikátumkód lehetőségét.

Hogyan könnyíti meg a C ++ sablon osztálya a munkavégzést?

Amikor vállalati alkalmazáson dolgozik, a programozók legtöbbször olyan forgatókönyvvel néznek szembe, amelyben a program felépítése bonyolulttá válik, amikor a modellosztályok száma növekszik. A bonyolultság tovább növekszik, ha végrehajtjuk az OOPS koncepcióit, mint például az öröklés és a polimorfizmus. Ilyen esetekben a sablonosztályok nagyon hasznosak, ahol csökkentheti az írni kívánt kódsor sorait olyan műveletek végrehajtása érdekében, amelyek több osztályon / entitáson változatlanok maradnak.

Mit tehetsz a C ++ sablon osztályával?

A sablonosztályok használatával csökkenthető a kód összetettsége, ha meghatározza a sablonosztályban elvégzendő általános műveleteket, és ezt a sablonosztályt több adattípussal használja a kívánt eredmények eléréséhez.

Például, ha olyan számológép-programot írunk, amely olyan módszereket tartalmaz, amelyek 2 bemeneti paramétert vesznek fel, akkor végrehajthatják az összeadást, kivonást, szorzást és osztást, és visszaadhatják a kimenetet.

Tegyük fel, hogy a kezdeti követelmény az volt, hogy csak egy ilyen programot dolgozzunk ki, hogy a természetes számokkal dolgozzon. Ebből a célból éppen írt egy osztályt az alábbi sablonnal.

Osztályszámológép:

(

nyilvános:

aláíratlan hozzáadása (aláíratlan szám1, aláírás nélküli szám2) ()

aláíratlan kivonás (aláíratlan num1, aláíratlan num2) ()

aláíratlan szorzás (aláíratlan szám1, aláíratlan szám2) ()

aláíratlan Divide (aláíratlan num1, aláíratlan num2) ()

);

A követelmény változásával felkérjük Önt, hogy végezzen hasonló műveleteket minden egész számra (negatív és pozitív), valamint decimális típusra (hosszú).

A jelenlegi osztálytal két további osztályt írhat, vagy szerkesztheti ezt az osztályt, hogy hosszú ideig hasonló funkciókat és adattípusokat is felvegyen.

Ha azonban sablonosztályt használunk, akkor csak egy sablonosztályt definiálunk, amely az általános adattípuson fog működni, és a visszatérési érték és a bemeneti paraméterek adattípusát az alapján határozzuk meg, hogy alá nem írt változó átkerült-e, vagy ha hosszú vagy int adat típus átadása:

Sablon

Osztályszámológép:
(

Nyilvános:

T Add (T num1, T num2) ()

T kivonás (T num1, T num2) ()

T szorzó (T num1, T num2) ()

T osztás (T num1, T num2) ()

);

Munka a C ++ sablon osztályával

A fenti szakasz Számológép példájából felhasználhatjuk ezt a Számológép általános osztályt fő funkciónkban vagy programunk bármely más területén, különféle adattípusokkal, az alábbiak szerint:

Érvénytelen fő () (

Hosszú eredményLong = Calculator.Add (20.7, 18.2);

Int resultInt = Calculator.Add (10, -15);

Alá nem írt eredményUnsigned = Calculator.Add (10, 18);

)

Itt a T általános adat osztályban meghatározott adattípusát a függvényeknek átadott bemeneti paraméterek adattípusa alapján határozzuk meg.

A C ++ sablon előnyei

A sablon osztályok használatának fő előnyei az alábbiak:

  1. Csak egy olyan osztályt kell meghatároznia, amely különféle adattípusokkal fog működni.
  2. Összeállítási időpontban ez a sablonosztály csak az adattípusokhoz készül, amelyeknél a sablonosztályt a programban használták.

Például, ha a fenti példában csak sablonosztályt használunk int adattípussal, akkor a fordító csak az int adattípus példányát hozza létre, ezzel helyet takarítva meg, amelyet hosszú és alá nem írt adattípusok implementációi használnának fel, ha írnánk külön osztályok mindegyiknek.

  1. Mint már láttuk, egy sablonosztály létrehozása és használata csökkenti a fejlesztéshez szükséges erőfeszítéseket és kódvonalakat, és csökkenti a program hibakeresésének összetettségét és idejét is, mivel csak 1 osztálytal dolgozik.

Szükséges sablon osztály a C ++ készségekben

A sablon osztályok létrehozása és használata nagyon egyszerű, és nem igényel speciális programozási ismereteket a C ++ területén. Csak annyit kell tennie, hogy elemezze az osztályokat, amelyek közös funkciókkal rendelkeznek, és mindegyikhez hozzon létre egy sablonosztályt.

Miért kellene sablonosztályt használni a C ++-ban?

Mindig meg kell próbálnunk beépíteni a sablon osztályokat a programjainkba, amikor olyan vállalati alkalmazáson dolgozunk, amelyek a jövőben változhatnak és növekedhetnek. Ez segít nekünk a jövőben, amikor a program funkcionalitásának kibővítésén dolgozunk, akkor rájövünk, hogy sok munkát már sablonosztályok fognak kezelni, és amikor az alkalmazás egy idő alatt összetetté válik, a kód továbbra is kompakt marad és érthető bárki számára, aki újonnan keresi a programot.

Miért van szükség sablon osztályra a C ++ nyelven?

A sablon osztály konténerként működik, amely nagyon praktikus, ha több osztály ugyanazt a funkciót végzi hasonló módon a különféle adattípusokhoz. Ez a tároló egyetlen entitásba csomagolja a funkcionalitást, amelyet a követelménynek megfelelően felhasználhat különféle adattípusokra.

A sablonosztály egy másik általános használata az adatszerkezetek, például egy összekapcsolt lista, halmok, várólisták, a különféle adattípusok támogatására történő megvalósításánál jelentkezhet. Ezek az adatstruktúrák ugyanazt a megközelítést fogják követni az elemek push, pop és traverse elemzésein, függetlenül az adattípustól, ezért felhasználhatók sablon osztály megvalósításával.

Hogyan segít ez a technológia a karriernövekedésben?

Jó ismeretekkel és gyakorlati megközelítésekkel, mint például a sablonosztály, elválaszthatja Önt, mint vállalati alkalmazások programozóját egy olyan programtól, amely csak megtanult programozni, és előfordulhat, hogy nem képes azonnal alkalmazkodni egy nagyvállalati alkalmazáshoz a legoptimálisabb módon.

Ez lehetővé teszi a jobb érthetőséggel és bővíthetőséggel rendelkező kódok írását is.

Következtetés

Bármely nyelven történő munkavégzés és programozás során a célunk mindig a kód újrafelhasználhatóságának támogatása azáltal, hogy a lehető leg általánosabbá teszi, modulárisan és kompaktan tartva. A sablon osztályok nagyszerű módja ennek elérésére olyan osztályoknál, amelyek hasonló funkciókkal rendelkeznek.

Ajánlott cikk

Ez egy útmutató a Mi a sablon osztály a C ++ kategóriában ?. Itt megvitattuk az előnyeket és a C ++ sablonosztály igényét. A következő cikkeket is megnézheti további információkért -

  1. Sablon Java-ban
  2. Websablonok HTML
  3. Mi az ExpressJS?
  4. Mi az a felfedező tesztelés?

Kategória: