Kezdőoldal » Számítástechnika » Programozás » Objektumorientált programozás...

Objektumorientált programozás rekordokkal kiváltható? (bővebben lent)

Figyelt kérdés

Ha valamilyen feladat objektumorientált programozási megvalósítást kíván meg, akkor mindenképpen megoldható rekordokkal is az adott feladat?

Miben okoz könnyebbséget az OOP szemlélet? Én sajnos sose értettem.



2021. márc. 25. 14:15
 1/6 anonim ***** válasza:
23%

Nem.


A rekord az egy rugalmas, a programozó által definiált adatszerkezet, az OOP meg egy programozási paradigma, egy séma.

2021. márc. 25. 14:51
Hasznos számodra ez a válasz?
 2/6 A kérdező kommentje:

Köszönöm a választ!

A rekordot úgy értettem, hogy eltérő adatokat egységesen kezelhetek és azt hiszem egy objektum lényege is hasonló, de biztos szerteágazóbb.

Milyen dokumentáció alapján lehetne megérteni (programozási nyelvtől függetlenül) az OOP szemléletet?

2021. márc. 25. 14:57
 3/6 anonim ***** válasza:
42%

A Rekord segítségével nem kezelhetsz egységesen eltérő /más és más tipusú/ adatokat. A rekord abban segít, hogy valamilyen okból egymáshoz tartozó /pl. szélesség, hossz, magasság/ adatokat egyben tudsz kezelni, mozgatni, tárolni, azokkal műveletet végezni.


Az OOP azért ennél sokkal összetettebb dolog és a célja is más.

Az OOP-ről elég sok leírás van, azokat átolvasva képbe lehet kerülni.


A lényege is többes az OOP-nek, de az egyik az, hogy a kódot amit írtál, újra fel tudod használni.

A másik fő szempont a modularitásnak egy olyan foka, hogy a teljes projectet önálló kis egységekre lehet bontani és azokat szükség esetén cserélni, bővíteni lehet a többi modul "érintése" nélkül.

Ez az egységbe zárás.

Az összetartozó adattagokat, a rajtuk végzett vagy végezhető függvényeket egy szerkezetbe foglaljuk. Ez ugyan hasonlít a rekordra, de messze nem az, hiszen eleve, sokkal több annál.


Mindez a modularitás persze más paradigma esetén is lehetséges, de a leg életképesebb megvalósítása ennek az OOP.

Hátránya, hogy sok erőforrást igényel és köt le.

2021. márc. 25. 15:33
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:
63%
Az OOP-s viselkedés valamilyen szinten utánozható a struct típussal, ami a legközelebb áll az általad említett rekordhoz. Ha lazán akarjuk kezelni a kérdést, azt mondhatjuk, hogy a class az az eye-candy változata a struct-nak, néhány plusz dologgal kiegészítve (pl. construktor).
2021. márc. 25. 15:33
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:
77%

Jól látod, hogy az osztályok lényegében rekordok, amelyekbe különböző adatokat foglalhatunk egységbe. Annyiban többek a natúr rekordoknál, hogy el lehet rejteni a mezőiket közvetlen elérés elől, függvényeket is beléjükfoglalhatunk, és a hasonló osztályok hasonlóságát feltüntethetjük a kódban ún. öröklési hierarchiába szerezés által.

Mindez a hibák megelőzését és a könnyű kezelhetőséget szolgálja, mint igazából minden elv a szoftvertechnológiában.

Válassz egy OOP nyelvet és kezdd el tanulni egy kezdőknek szóló könyvből, majd a magyarázatokon és példákon keresztül meg fogod tanulni részletesen az objektumorientáltság alapelveit is.

2021. márc. 25. 19:22
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:

Hasznos válaszokat írtak a többiek, önmagában OOP-t tanulhatsz, de sokkal többet ér ha egyből egy nyelvvel együtt teszed (nem mindenkinek könnyű szemléletet váltani és hiába érted meg a szemléletet, küzdhetsz utána a nyelvre ültetéssel).

Ha a stílusa nem zavar, a Head first sorozat könyveiből valamelyik (pl. Java, kissé régi már) segíthet. Vagy egy jobb Python, Ruby oktatóanyag, azokból is akad pár a neten még magyarul is.

2021. márc. 28. 21:14
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!