Objektum-orientált fejlesztés

A Miau Wiki wikiből

Angol megnevezés: Object-oriented programming

Történeti modul

  • 1964:A PL/1 programozási nyelvet az IBM cég fejlesztette ki. Ez a nyelv még nem igazán sorolható a harmadik generációs programozási nyelvek közé. A PL/1 szabad formátumú nyelv, amely a FORTRAN, az ALGOL és a COBOL nyelvek előnyeit egyesíti magában. Egyaránt alkalmas az adat-feldolgozási és a számítási problémák megoldására, emellett a program szerkezete egyszerű és követhető, formai előírásai nem túl szigorúak. A programok blokk-szerkezetű felépítése már a strukturáltság koncepcióját vetíti előre. A program tartalmaz egy főprogram részt, amely külön blokkokban több alprogramot foglalhat magába, az alprogramok egymásba ágyazhatók. A fordító a deklarációkat utólag helyezi el a program elején. [[1]]
  • 1970: A PASCAL nyelv volt az első igazi és legteljesebb körű megvalósítása a struktúrált szemléletű programozás elveinek. Niklaus Wirth professzor, a zürichi Műszaki Főiskola oktatója dolgozta ki a nyelvet a 70-es években, és Blaise Pascal francia matematikus-filozófusról nevezte el. Wirth professzor az ALGOL programozási nyelv alapján definiálta a PASCAL szabályait, a cél egy az ALGOL-hoz hasonló, de általános célú programozási nyelv elkészítése volt. A PASCAL általános célú programozási nyelv, amelyet elsősorban az oktatásban, a műszaki-tudományos számítások területén és a komplex programrendszerek fejlesztése során alkalmaznak elterjedten. Szabad formátumú nyelv, mely viszonylag kevés utasítást tartalmaz. A programok szerkezete kötött, szigorú előírások vonatkoznak rá. A PASCAL programok blokkokból épülnek fel, a blokkok a begin foglalt szóval kezdődnek és az end foglalt szóval érnek véget. Minden utasítás végére „ ; „ -t kell tenni. A PASCAL nyelv támogatja a moduláris programozást, függvények és eljárások definiálhatók a function és a procedure foglalt szavak segítségével. A függvények, eljárások egymásba ágyazhatók, sőt a nyelv támogatja a rekurziót is. A PASCAL erősen típusos nyelv. A programban használni kívánt változókat a főprogram előtt elhelyezkedő deklarációs részben fel kell tüntetni. A PASCAL fordítók compiler típusú fordítók. A programok szabályos, szigorú, egyértelmű felépítése miatt a nyelv az oktatás kedvelt programozási nyelve. A PASCAL nagyon jó alapot biztosít más programozási nyelvek tanulásához, a struktúrált programozás alapelveinek megértéséhez. [[2]]
  • 1972:A rendszerprogramozás fejlődése során mérföldkőnek tekinthetjük az 1972-ben megjelent C nyelvet. Megalkotója Dennis Ritchie, aki eredetileg a UNIX rendszerek fejlesztőeszközének szánta. Később különleges hatékonyságát és sokoldalú felhasználási lehetőségét látva más operációs rendszerekhez kidolgozták a C nyelvű fordítóprogramokat. A nyelv különlegessége, hogy egyesíti magában a hardverközeli programozás és a magasszintű nyelvek előnyeit, ilyen módon jól kihasználhatjuk a hardver adta lehetőségeket – javul a futási idő – mégis gyorsan tudunk új programokat írni, mivel logikájában a magas szintű nyelvek formáját követi a C is. A Pascal-hoz hasonlóan viszonylag kevés utasítást tartalmaz, a legtöbb műveletet előre definiált függvények segítségével oldja meg. A C nyelv támogatja az alprogramok készítését, de csak a függvény típusú modulokat ismeri. Az eljárásokat visszatérési érték nélküli függvényként definiálhatjuk. Lehetőség van rekurzív alprogramok készítésére is. A C nyelv nagyon erősen támaszkodik a mutatókra. Előnyös a C programok írása során kihasználni a mutatók adta lehetőségeket, mert programunk ezáltal gyorsabb, hatékonyabb lehet. Típuselőírásai sokkal engedékenyebbek, mint azt a Pascal nyelv esetén tapasztaltuk, bár az automatikus típusdeklarációt nem támogatja, a konverziók terén igen nagy szabadságot biztosít a programozónak. [[3]]
  • 1988. -ban dolgozta ki a Eiffel nyelvet Bertold Meyer. Objektum-orientált, erősen típusos nyelv. A hordozhatóság érdekében a megírt programot C nyelvre is le lehet fordítani. A szakemberek szerint az egyik legjobb objektum-orientált programozási nyelv. [[4]]
  • 1989. A C nyelvet 1989-ben fogadta el az Amerikai Szabványügyi Hivatal. Ekkor jelent meg az ANSI-C, az első szabványos C fordító. A későbbi változatok ennek lehetőségeire építkeztek. A C nyelvet ma is széles körben használják, első számú alkalmazási területe a rendszerprogramozás. A mai követelményeknek megfelelő C változatok a C++, az objektum-orientált lehetőségekkel bővített C nyelv, és a Concurent C, a párhuzamos folyamatok programozását segítő eszköz. [[5]]
  • 1990-es évek:Az objektum-orientált programozás (OOP) a 90-es évek uralkodó stílusirányzata, s egyre inkább felváltja a - lassan már elavulttá váló, de ugyanakkor még klasszikusnak is számító - strukturált programozást. Az objektum-orientált programozás jobban megközelíti, utánozza a valóságot, és jobban igazodik a tárgyakhoz. Minden valóságos tárgyat nemcsak alakja, elhelyezkedése jellemez, (Tehát nem csak a rá jellemző adatok -méretek-.) hanem az is, hogyan viselkednek bizonyos körülmények között. Így a tárgyakat minden jellemzőivel együtt komplex egészként tekintjük. (Azaz, az objektum az adatok és jellemzőjük komlpexe, elválaszthatatlan egésze.) Amikor egy objektumot deklarálunk akkor írjuk le szerkezetét a mezőkkel, másrészt azokat a szubrutinokat, amelyek leírják az objektum viselkedését. [[6]]

Ontológiai modul

  • "ez egy" kapcsolattípus:
    • Objektum-orientált fejlesztési programok - editorok (keretrendszer)
    • Objektum-orientáltság, grafikus fejlesztői eszközök (jelző)
    • Szövegszerkesztő program (alkalmazási példa)
  • "van neki, része a szócikknek" kapcsolattípus:
  • "a szócikk része valaminek (a szócikkel egyenrangú fogalmak)" kapcsolattípus:
    • Információs rendszerek fejlesztése (OOP, ergonómia, információs többletérték, méretezés, tesztelés, biztonság, ...)

Ellentmondások és vitatott kijelentések modulja

  • 1998-ban a Microsoft elhatározta, hogy nem használja tovább a Sun Java technológiáját, és később már létező Microsoft J++ (Java++) terméket a .NET projekt alapjaként használták.

Definíciós modul

  • Modern programozási paradigma, amely a program egészét egyedi jellemzőkkel rendelkező, önmagukban is részben v. teljesen működőképes, zárt, ún. objektumok halmazából építi fel. Az objektum-orientált programozás a klasszikus struktúrált programozásnál jóval hatékonyabb megoldást képes nyújtani a legtöbb problémára, és a absztrakt műveletvégző objektumok kialakításának és újrafelhasználásának támogatásával nagy mértékben tudja csökkenteni a szoftverek fejlesztéséhez szükséges időt.

Tesztkérdések modul

  • Igaz-e, hogy: A C++ nyelv, nem objektum-orientált programozási nyelv? (hamis, mert ...)
  • Igaz-e, hogy: Az objektum-orientált fejlesztés nagyban megkönnyíti a programozók feladatait? (igaz, mert ...)
  • Igaz-e, hogy: Az objektum-orientált programozási nyelv a 90-es évek vezető programozási módszere? (igaz, mert ...)

Ajánlott irodalmak modulja

  • Ricardo Devis: The Object-Oriented [7]
  • Francesco Balena: Programming Microsoft Visual Basic 6.0 [8]
  • Farkas Csaba: Programozási ismeretek - haladó felhasználóknak [9]
  • Benkő Tiborné, Poppe András: Objektum-orientált C++ [10]