Programozás alapjai

Áttekintés

Az objektumorientált programozás (OOP) egy olyan programozási paradigma, amely az “objektumok” fogalmán alapul, amelyek tartalmazhatnak adatokat mezők formájában, amelyeket gyakran attribútumoknak neveznek; és kódot eljárások formájában, amelyeket gyakran módszereknek neveznek. Az objektumok jellemzője, hogy az objektum eljárásai elérhetik és gyakran módosíthatják annak az objektumnak az adatmezőit, amelyhez kapcsolódnak (az objektumoknak van egy “this” vagy “self” fogalma). Az OOP-nyelvek jelentős változatosságot mutatnak, de a legnépszerűbbek osztályalapúak, ami azt jelenti, hogy az objektumok osztályok példányai, amelyek jellemzően a típusukat is meghatározzák.

Diszkusszió

Ezidáig a procedurális programozásra koncentráltunk. A strukturált programozáson alapuló eljárások (rutinok, szubrutinok vagy függvények) az elvégzendő számítási lépések sorozatát tartalmazzák. Bármelyik eljárást a program végrehajtása során bármikor meg lehet hívni, akár más eljárások, akár saját maga által. A procedurális programozás középpontjában az áll, hogy a programozási feladatot változók, adatszerkezetek és alprogramok gyűjteményére bontja. A kis programok és szkriptek általában könnyebben fejleszthetők egyszerű procedurális megközelítéssel.

Az objektumorientált programozás ehelyett a programozási feladatot objektumokra bontja, amelyek a viselkedést (módszerek) és az adatokat (tagok vagy attribútumok) interfészek segítségével teszik közzé. A legfontosabb különbség az, hogy míg a procedurális programozás eljárásokat használ különálló adatszerkezeteken való működésre, addig az objektumorientált programozás a kettőt összefogja, így egy “objektum”, amely egy osztály példánya, a “saját” adatszerkezetén működik. A nagyobb programok számára előnyös az objektumorientált megközelítés által biztosított jobb kód- és adatelkülönítés és újrafelhasználás.

A tárgyakat és az osztályokat gyakran a valós világ objektumainak reprezentálására tervezik. Tekintsük az ajtót egy valós objektum példájaként. A legtöbb ajtó korlátozott funkcionalitással rendelkezik. Lehet őket nyitni és zárni, valamint zárni és nyitni. A procedurális programozásban az ajtó kinyitásához, bezárásához, bezárásához és kinyitásához tervezhetünk függvényeket, például:

Procedural Programming - FunctionsOpenDoor(door)CloseDoor(door)LockDoor(door)UnlockDoor(door)

A tárgyközpontú programozás a kódot és az adatokat egyesíti, így ahelyett, hogy külön függvények hatnának az ajtókra, olyan ajtókat tervezünk, amelyeknek olyan módszereik vannak, amelyek önmagukra is hathatnak. A metódusok reprezentálnak valamit, amit az objektum megtehet, és jellemzően igékkel definiáljuk őket. Az objektumorientált ajtó pszeudokódja így nézhet ki:

Object-Oriented Programming - Methodsdoor.Open()door.Close()door.Lock()door.Unlock()

Az objektumoknak lehetnek attribútumai is, valami olyasmi, ami az objektum, vagy amivel rendelkezik, és ezeket jellemzően főnevek vagy melléknevek segítségével definiálják. Az ajtó attribútumai lehetnek:

Object-Oriented Programming - Attributesdoor.Heightdoor.Widthdoor.Colordoor.Closeddoor.Locked

Ha kódot írunk egy általános ajtó definiálására, akkor létrehozunk egy ajtó osztályt. Az ajtóosztály tartalmazná az összes olyan metódust, amelyet egy ajtó elvégezhet, és az összes olyan attribútumot, amellyel egy ajtó rendelkezhet. Ezután létrehoznánk az osztály példányait (objektumokat), hogy konkrét ajtókat reprezentáljunk, például egy ház bejárati, hátsó vagy szobaajtót, vagy egy autó bal és jobb ajtaját.

Kulcsfogalmak

attribútum Egy objektum tulajdonságát meghatározó specifikáció. class Egy bővíthető programkód-sablon objektumok létrehozására, az állapot kezdeti értékeinek (tagváltozók) és a viselkedés megvalósításainak (tagfüggvények vagy metódusok) megadására. instance :Egy objektum konkrét előfordulása. method Egy objektum eljárását vagy viselkedését meghatározó specifikáció. object Egy osztály konkrét példánya, ahol az objektum lehet változók, függvények és adatstruktúrák kombinációja. this, self, vagy Me Egyes számítógépes programozási nyelvekben használt kulcsszavak arra az objektumra, osztályra vagy más entitásra utalnak, amelynek az éppen futó kód része.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.