Mire jó az OOP?










Részletes cikkében Lawrence Krubner végigveszi az objektumorientált programozás tizenkét aspektusát, és bebizonyítja, hogy más nyelvekhez hasonlítva (lisp, funkcionális nyelvek stb.) az OOP nyelveknek nincsenek különleges erősségeik, viszont szükségtelen komplexitást hordoznak magukkal.
Rob Pike, aki részt vett az UTF-8 és a Go megalkotásában, az objektumorientáltságot a programozás római számainak nevezte. Azt mondta, hogy az adatszerkezetekről és az algoritmusokról az adattípusokra helyezi át a hangsúlyt. Továbbá idézi egy Java professzor példáját, aki egy egyszerű keresőtábla helyett hat osztály létrehozásával oldott meg egy feladatot.
"Az OOP bevezetése az Emacs-ben nem jár egyértelmű előnyökkel; használtam OOP-t, amikor Lisp számítógépek ablakozó rendszerén dolgoztam, és nem értek egyet azzal az állítással, hogy ez a programozásnak egy magasabb szintje lenne." Richard Stallman





:D :D :D
Nagyon ügyesen tudsz semmitmondó OOP ellenes cikkekből kopipésztelni :D :D
Sejthető volt, hogy egyetlen önálló gondolatod sincs.
Az OOP-nak rengeteg előnye van. Hátránya az, hogy nem mindenki érti, mert kell hozzá némi gyakorlat, hogy jól csinálja valaki.















Mondd azt, hogy téged érdekel.
Amúgy, már megkapta a választ a kérdésére.
Az OOP-t képzeld el úgy, mintha labdák lennének egy konténerben. Minden labda egy-egy kupac kódot tartalmaz, ami valamit csinál. A labdák beltartalmai (a kódok) egymással nem érintkeznek, csak a felületükön érhetnek egymáshoz, az az interface.
Így lehetőség van a konténerből labdát vagy labdákat kivenni, vagy abba beletenni anélkül, hogy a többi labda tartalmát meg kéne változtatni.










Az objektumok egységbe foglalják az adatokat és a hozzájuk tartozó műveleteket.
Az objektum által tartalmazott adatokon általában az objektum metódusai végeznek műveletet. A program egymással kommunikáló objektumok összességéből áll.
Nagyobb projektekben interfészek fejezik ki a kliensek elvárásait az objektumokkal szemben. Amellett, hogy a kliens biztos lehet abban, hogy az objektum rendelkezik az interfészben előírt metódusokkal, elvárhat csak egy adott interfészű objektumot ahelyett, hogy meghatározná a pontos osztályt. Ez megkönnyíti a megvalósítások és az objektumok cseréjét. Amellett, hogy az objektum megvalósít egy interfészt, még lehetnek további tagjai is, amikről azonban a kliensek nem tudnak, mivel az interfész nem garantálja. Az interfész egy szerződést ad meg az objektum és kliensei között.





#18: Komolyan bemásoltál egy wikipedia részletet??? :D :D :D :D
Valóban rohadt nagy szakember lehetsz! :D :D :D :D :D





Egy osztálynak akármennyi adata és akárhány metódusa lehet. Jó objektum orientált szokás szerint az adatokat el kell rejteni, vagyis be kell zárni az osztály belsejébe. Az elrejtés elmélete nagyon egyszerű: úgy képzeljük el az osztályt, mint egy "fekete dobozt", amiből csak egy kis rész látszik.
A látható részt osztály interfésznek hívjuk, és ez teszi lehetővé, hogy a program többi része használhassa az adott osztályba tartozó objektumokat.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!