Professional Documents
Culture Documents
Programozsi paradigma Programming Paradigm Programozsi md. Alapveten a program felptsre hasznlt eszkzkszletet jelenti, vagyis milyen egysgek kpezik a program alkotelemeit. (modulris programozs, objektumorientlt programozs, ltalnostott programozs, aspektusorientlt programozs stb.) Az adattpus lersnak legmagasabb szintje, amelyben az adattpust gy specifikljuk, hogy az adatok brzolsra s a mveletek implementcijra semmilyen elrst nem adunk. Lehetleg matematikai fogalmakat hasznlva rjuk le az adattpust (halmazok s ezeken rtelmezett mveletek). Elvonatkoztats. Segtsgvel privt implementcikat rejthetnk el egy nyilvnos interfsz mg. Plda: java.util csomagban List interfsz s az interfszt implementl ArrayList, illetve LinkedList osztlyok. Az absztrakci lehetv teszi, hogy mindkt osztly pldnyait ugyanazon List interfsz mveletein keresztl kezeljk. Olyan programozsi paradigma, amely a programokat objektumokbl pti fel. A program mkdse tulajdonkppen objektumok kommunikcijt jelenti. Legfontosabb alapelvei: egysgbezrs, rklds, polimorfizmus. Az osztly egy felhasznli tpus, amelynek alapjn pldnyok (objektumok) hozhatk ltre. Az osztly alapveten adat s metdus (mvelet) defincikat tartalmaz. Informcit (adatokat) trol s krsre mveleteket vgez. Van llapota, viselkedse s futsidben azonosthat. Objektumhoz tovbbtott krs. Vlaszknt az objektum vgrehajtja a krt mveletet. Az adatok s a metdusok osztlyba val sszezrst jelenti. Tulajdonkppen az objektum egysgbezrja az llapotot (adattagok rtkei) a viselkedsmddal (mveletekkel). Kvetkezmny: az objektum llapott csak a mveletein keresztl mdosthatjuk. Az objektum elrejti az adatait s bizonyos mveleteit. Ez azt jelenti, hogy nem tudjuk pontosan, hogy egy objektumban hogyan vannak az adatok brzolva, st a mveletek implementciit sem ismerjk. Az informcik elrejtse az objektum biztonsgt szolglja, amelyeket csak a ellenrztt mveleteken keresztl rhetnk el. Olyan osztlyok kztt rtelmezett viszony, amely segtsgvel egy ltalnosabb tpusbl (sosztly) egy sajtosabb tpust tudunk ltrehozni (utdosztly). Az utdosztly adatokat s mveleteket (viselkedsmdot) rkl, kiegszti ezeket sajt adatokkal s mveletekkel, illetve fellrhat bizonyos mveleteket. A kd jrafelhasznlsnak egyik mdja. Megklnbztetnk egyszeres s tbbszrs rktst. Adott osztly felhasznlsa szrmaztats, aggregci, illetve kompozci rvn j
Absztrakci Abstraction
Osztly Class
Kd jrafelhasznlsa
Szoftver jrafelhasznlsa Software Reuse Statikus (korai) kts Static (Early) Binding Metdusok tlterhelse Methods Overloading
Fordtsidej hozzrendelse a hvott metdusnak az objektumhoz. (Pl. C++: nem virtulis fggvnyek, Java: osztlymetdusok- statikus metdusok) (Gyors) Tbb azonos nev, klnbz szignatrj fggvny. A fggvnyhvs aktulis paramterei meghatrozzk, hogy melyik fggvny fog meghvdni. Ezt mr a fordtsidben eldl (statikus, fordtsidej kts). Egy osztlyhierarchin bell az utdosztly jradefinilja az sosztly metdust. (azonos nv, azonos szignatra). Ha sosztly tpus mutatn vagy referencin keresztl rjk el az osztlyhierarchia pldnyait s ezen keresztl meghvjuk a fellrt metdust, akkor futsi idben dl el, hogy pontosan melyik metdus kerl meghvsra. (dinamikus, futsidej kts). Olyan osztly, amelynek van legalbb egy absztrakt mvelete. Felletet hatroz meg s nem lehet pldnyostani. Absztrakt osztly az absztrakt mveleteinek implementlst az utdosztlyokra bzza. Olyan osztly, amely nem tartalmaz absztrakt mveletet. Pldnyosthat.
Viselkedsmdot definil. Gyakorlatilag egy mvelethalmaz deklarcijt jelenti. Ha egy osztly implementl egy adott interfszt, akkor pldnyai az interfszben meghatrozott viselkedssel fognak rendelkezni. Csak konstans adattagokat tartalmazhat s minden tagja nyilvnos. Meghatrozza az objektummal vgezhet mveletek halmazt.
Tbbalaksg. Egy tpuselmleti fogalom, amely szerint egy sosztly tpus vltoz hivatkozhat ugyanazon kzs sosztlybl szrmaz (vagy ugyanazon interfszt megvalst) osztlyok pldnyaira. A polimorfizmus lehet statikus s dinamikus. (a) statikus polimorfizmus: metdusok tlterhelse, fggvnysablonok, osztlysablonok. Satikus, fordtsidej kts. (b) dinamikus polimorfizmus: metdusok fellrsa. Dinamikus, futsidej kts.
Destruktor Destructor
Fggsg Coupling
C++ concepts
Algoritmus Algorithm Fggvnyobjektum Function Object ltalnosan megvalstott fggvny, amely minimlis kvetelmnyt tmaszt azon adatokkal szemben, amelyeken vgrehajtdik. Fggvnyknt viselked objektum. Az az elnye a fggvnymutathoz kpest, hogy mint objektum, llapotot is trol, nemcsak fggvnyknt viselkedik. Megvalsts: olyan osztllyal, amelyben rtelmezzk a fggvnyhvs opertort. Ezen kvl az osztly tartalmazhat adattagokat s ms segdmveleteket is. Olyan trol, amelyben minden elemnek van egy rgztett pozcija, amelyet a beszrs helye s ideje hatroz meg. Olyan trol, amelyben az elemek valamilyen rendezettsgi kritrium szerint vannak trolva. A beszrs helyt nem a beszrs ideje, hanem a beszrt elem
Virtulis fggvny Virtual Function Tiszta virtulis fggvny Pure Virtual Function
Polimorfikus viselkedst megvalst fggvny. A virtual kulcssz segtsgvel kell bekapcsolni egy adott mvelet tbbalaksgt. Virtulis fggvnydeklarci. Absztrakt mvelet, amelynek az adott szinten nincs megadva az implementcija. Felletet meghatroz osztlyokban hasznljuk s az utdosztlyok fogjk implementlni. Olyan fggvnyek, amelyeket a fordt a hvs helyn kifejt, vagyis nem trtnik fggvnyhvs, hanem a hvs helyre behelyettestdik a fggvny kdja. Olyan fggvnyek, amelyek nem mdostjk az objektum llapott. Pldul a getAttribute tpus metdusok. Hozzfrs-szkt hatsa van. Az sosztlytl tvett adat s metdustagok privt tagokk alakulnak, ezltal az utdosztly mr nem biztostja az sosztly ltal meghatrozott viselkedsmdot. Az utdosztly az sosztly implementcijt rkli s nem annak interfszt. Ha A osztly bartja a B osztlynak, akkor az A osztlyban ugyangy hozzfrnk a B osztly tagjaihoz (privt s nem privt), mint magban a B osztlyban. Egy osztlysablon sajtostsa adott tpusra, amelynek clja vagy az adott tpusra val optimalizls, vagy az adott tpusra elllt rendellenes viselkeds kikerlse.
Inline fggvnyek: Inline Function Konstans tagfggvnyek Constant Functions Privt rkts Private Inheritance