Objektum-orientált programozási utal, hogy a koncepció a magas szintű nyelvek, mint a Java, illetve a Python hogy használja a Tárgyakat, az osztályok, a megvalósítások. Az OOP-nak négy fő építőköve van: a polimorfizmus, a kapszulázás, az absztrakció és az öröklés., Vannak más programozási paradigmák is, mint például az eljárási programozás, amelyben a kódokat egymás után írják. A Python és a Java több paradigma magas szintű programozási nyelvek, ami azt jelenti, hogy támogatják mind az OOP, mind az eljárási programozást. A programozó dönt a paradigma, hogy használja alapján a szakértelem, valamint a problémákat, hogy megpróbálja megoldani. Nincs azonban vita arról, hogy az OOP könnyebbé, gyorsabbá, dinamikusabbá és biztonságosabbá teszi a programozást., Ez a fő oka annak, hogy a Java és a Python a mai világ legnépszerűbb programozási nyelvei
Ha Java és Python vagy bármely más objektumorientált programozási nyelvet szeretne megtanulni, akkor meg kell értenie ezeket az objektumorientált programozási paradigmákat, amelyek viszonylag könnyen megérthetők. Vessünk egy pillantást rájuk.
mi az öröklés?
Java-ban és Python-ban a kódok objektumokba vagy blokkokba vannak írva, ha OOP-módszert alkalmaz., Az objektumok kölcsönhatásba léphetnek egymással az egyes blokkok tulajdonságainak felhasználásával vagy egy blokk funkcióinak öröklés útján történő kiterjesztésével. Az öröklés biztosítja a kódok újbóli felhasználását. Több millió Java és Python könyvtár van, amit egy programozó öröklés útján használhat. Egy osztály tulajdonságait más osztályok vagy funkciók örökölhetik és bővíthetik. Kétféle osztály létezik. Az egyik a szülő vagy az alaposztály, a másik pedig a gyermekosztály, amely örökölheti a szülői osztály tulajdonságait. Az öröklés az objektumorientált programozás egyik fő pillére., Ez az a mechanizmus, amellyel a Java, Python és más OOP nyelvek osztályai öröklik a többi osztály attribútumát
egy szülőosztály megoszthatja attribútumait egy gyermekosztályral. A szülőosztály implementációjának egyik példája a DDL (Dynamic-link library). A DDL különböző osztályokat tartalmazhat, amelyeket más programok és funkciók használhatnak
az öröklés valós példája az anya és a gyermek. A gyermek örökölhet olyan tulajdonságokat, mint a magasság, a hangminták, a szín., Az anya képes reprodukálni a többi gyermek azonos tulajdonságokkal is
létrehozhat egy funkció vagy osztály úgynevezett “Move Robot”, amely szabályozza a robot mozogni. Más programokban is létrehozhatunk metódust és funkciókat, amelyek öröklik a” Move Robot ” osztályt anélkül, hogy újra és újra átírnánk a kódokat. Azt is kiterjeszteni ezt az osztályt örökli meg, és írásban még néhány kódot, hogy azt utasítja a robot mozogni, valamint futtatni bizonyos különleges körülmények között segítségével if and else nyilatkozat., Az örökléssel több olyan robotot hozhat létre, amelyek öröklik a “Move Robot” szülőosztály attribútumait, ami biztosítja a kód újrafelhasználhatóságát.
összefoglalva, az öröklés az osztályok és a módszer közötti kapcsolatról szól, amely olyan, mint egy szülő és egy gyermek. A gyermek születhet a szülők néhány tulajdonságával. Az öröklés biztosítja a kódok újrafelhasználhatóságát, ahogyan több gyermek örökölheti szüleik tulajdonságait.,
ha függvényt, metódust vagy osztályt akarunk létrehozni, akkor egy szuperosztályt keresünk, amely tartalmazza a kódot vagy annak a kódnak egy részét, amelyet végrehajtani akarunk. Ezután levezethetjük az osztályunkat a meglévőből. A Java-ban ezt az “Extends” kulcsszóval végezzük, a Python-ban pedig ezt úgy érjük el, hogy egy osztály attribútumait örökljük az osztály nevének felhívásával.
dolgozik a műveletekben?
tudta, hogy egy olyan alkalmazás, mint a NerdVision, javíthatja az MTTR-t (átlagos javítási idő)?,
kapszulázás
Ez egy programozási stílus, ahol a megvalósítás részletei rejtve vannak. Jelentősen csökkenti a szoftverfejlesztés összetettségét. A Kapszulázással csak a módszerek vannak kitéve. A programozónak nem kell aggódnia a megvalósítás részletei miatt, hanem csak a műveletekkel foglalkozik. Például, ha egy fejlesztő dinamikus link könyvtárat akar használni a dátum és idő megjelenítéséhez,akkor nem kell aggódnia a dátum és időosztály kódjai miatt, hanem egyszerűen csak az adat-és időosztályt használja nyilvános változók használatával., Lényegében a kapszulázást Python-ban és Java-ban úgy érik el, hogy privát változókat hoznak létre a rejtett osztályok definiálásához, majd nyilvános változók használatával, hogy felhasználhassák őket. Ezzel a megközelítéssel egy osztály frissíthető vagy karbantartható anélkül, hogy aggódna az őket használó módszerek miatt. Ha egy osztályt tíz metódusban hív fel, és változtatásokat kell végrehajtania, akkor nem kell a teljes metódusokat frissítenie, hanem egyetlen osztályt kell frissítenie. Az osztály megváltoztatása után automatikusan frissíti a módszereket. A kapszulázás azt is biztosítja, hogy az adatok rejtve legyenek a külső módosításoktól., A kapszulázást Data-Hidden néven is ismert.
a kapszulázás olyan pajzsnak tekinthető, amely megvédi az adatokat a külső kód elérésétől.
lényegében a kapszulázás egyetlen egységként köti össze az adatokat és a kódot, és érvényesíti a modularitást.
polimorfizmus
polimorfizmus azt jelenti, hogy számos formában létezik. Változók, függvények és objektumok több formában is létezhetnek Java-ban és Python-ban., Kétféle polimorfizmus létezik: a futási idő polimorfizmus és a fordítási idő polimorfizmus. A futási idő az alkalmazás futása közben eltérő formát ölthet, a fordítási idő pedig más formát ölthet az összeállítás során.
az objektumorientált programozás polimorfizmusának kiváló példája a kurzor viselkedése. A kurzor különböző formákat ölthet, például nyíl, vonal, kereszt vagy más alakzatok a felhasználó viselkedésétől vagy a program módjától függően., Polimorfizmus esetén egy módszer vagy alosztály meghatározhatja viselkedéseit és attribútumait, miközben megőrzi szülőosztályának néhány funkcionalitását. Ez azt jelenti, hogy van egy osztály, amely megjeleníti a dátumot és az időt, majd létrehozhat egy módszert az osztály öröklésére, de a dátum és az idő mellett üdvözlő üzenetet kell megjelenítenie. Az objektumorientált programozásban a polimorfizmus célja az egyszerűség érvényesítése, a kódok kiterjeszthetőbbé tétele, az alkalmazások egyszerű karbantartása.,
öröklés lehetővé teszi, hogy hozzon létre osztály hierarchiák, ahol egy alaposztály ad a viselkedését, attribútumok egy származtatott osztály. Ezután szabadon módosíthatja vagy bővítheti annak funkcionalitását. A polimorfizmus biztosítja, hogy a megfelelő módszer a hívó objektum típusa alapján történjen.
a programkódok másképp futnak egy másik operációs rendszerben. Az operációs rendszer különböző viselkedését mutató programkód képességét polimorfizmusnak nevezik az OOP-ban. Létrehozhat egy “Move” nevű osztályt, majd négy ember olyan állatokat hoz létre, amelyek öröklik a move osztályt., De nem tudjuk, milyen állatokat hoznának létre. Tehát a polimorfizmus lehetővé tenné az állatok mozgását, de különböző formákban, a fizikai jellemzők alapján
A létrehoz egy csigát, amely örökli a mozgási osztályt, de a csiga feltérképezne
B létrehoz egy kengurut, amely örökli a mozgási osztályt, de a kenguru ugrik
C létrehoz egy kutyát, amely örökli a mozgási osztályt, de a kutyák
D létrehoznak egy halat, amely örökli a mozgási osztályt, de a hal úszik.
a polimorfizmus biztosította, hogy ezek az állatok mind mozognak, de különböző formákban., A programok viselkedésének módja nem ismert a futási idő előtt.
a fejlesztőknek és a műveleteknek együtt kell működniük a siker érdekében.
A NerdVision app hozza, hogy a két csapat együtt, hogy az élet mindenkinek jobb
Absztrakció
Absztrakció, a Java pedig a Python programozási módszertan, amelynek részleteit a programozási kódok vannak rejtve, távol a felhasználó, csak a lényeges dolgok jelennek meg a felhasználó. Az absztrakció inkább az ötletekkel, mint az eseményekkel foglalkozik., Olyan, mint egy programot (webböngészőt) futtató felhasználó, anélkül, hogy látná a háttérkódokat. Az absztrakciót Elvont osztályokban vagy Java és Python interfészben érik el. A NetBeans és az Eclipse IDE absztrakciót valósít meg Java számára, míg a Django absztrakciót implementál Python számára.
a programozó integrált fejlesztői környezetet használ a felhasználói felület megtervezéséhez anélkül, hogy aggódnia kellene, hogy az IDE hogyan generálja a HTML kódokat. Lényegében az absztrakció csak a felhasználó számára jeleníti meg az alapvető részleteket.,
következtetés
az objektumorientált programozás fő gondolata az egyszerűség, a kód újrafelhasználhatósága, a bővíthetőség és a biztonság. Ezeket Kapszulázással, absztrakcióval, örökléssel és polimorfizmussal érik el. Ahhoz, hogy egy nyelvet OOP-nak lehessen besorolni, rendelkeznie kell ezekkel a 4 OOP blokkokkal. Az absztrakciónak csak a releváns szempont megjelenítéséhez kell kapcsolódnia a felhasználó számára, például a rádió bekapcsolásához, de nem kell tudnia, hogyan működik a rádió. Az absztrakció egyszerűséget biztosít. Az öröklésnek köze van egy másik osztály attribútumait öröklő módszerekhez és funkciókhoz., A fő cél a kód újrafelhasználása, amely biztosítja a programok gyorsabb fejlesztését. A száraz (ne ismételje meg magát) az öröklés olyan koncepciója, amely azt jelenti, hogy egy programban nem lehetnek hasonló kódok. Ehelyett egy osztály, és más módszerekkel hívja őket, és kiterjeszti a funkciókat, ha szükséges. A polimorfizmus lehetővé teszi, hogy a programkód különböző jelentéssel vagy funkciókkal rendelkezzen, míg a kapszulázás az osztályok magántulajdonban tartásának folyamata, így külső kódokkal nem módosíthatók.