Hirdetés
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Luck Dragon: Asszociációs játék. :)
- Meggyi001: Kórházi ellátás: kuka vagy finom?
- GoodSpeed: WindowBlinds 11
- eBay-es kütyük kis pénzért
- Brogyi: CTEK akkumulátor töltő és másolatai
- Real Racing 3 - Freemium csoda
- Oldman2: A KOReader ebook olvasó program
- Elektromos rásegítésű kerékpárok
- sziku69: Fűzzük össze a szavakat :)
-
LOGOUT

Új hozzászólás Aktív témák
-
válasz
bandi0000
#11413
üzenetére
Húha, itt tényleg nagy a kavar. Elképzelni nem tudom, milyen maszlag magyarázatot sikerült adniuk az egyetemen.

Szóval, nem OOB, hanem OOP (Object Oriented Programming).
Nagyon leegyszerűsítem az érthetőség kedvéért a dolgot, szóval a kollegák légyszi ne gyilkoljanak halomra.

Az egésznek az a lényege, hogy:
- Leosztod a programod kicsi, logikus összetevőkre/részekre. Egy ilyen "rész" csak egy feladatot lát el. Na, ez az osztály. Az osztály neve Qrvafontos, mert ami a neve, az a feladata. Ezért van az, hogyha van olyan osztály, aminek mondjuk az a neve, hogy HttpConnector, erre file-okat nyitogat, akkor aki írta, annak a fejét lágyan, szeretetteljesen illik integrálni az asztallapba.
- Innentől kezdve a program átlátható, illetve minden osztályról tudod, hogy mit csinál. Ez a lényege az OOP-nek. Nem azt tudod, hogy HOGYAN csinál valamit. Azt tudod, hogy MIT csinál, és ehhez mire van szüksége.
- Az objektum az egy példányosított osztály, nem kell túlmisztifikálni (tehát bármilyen osztály, amit használsz a kódban, azoknak minden példánya egy-egy objektum).És akkor itt jön be a képbe a public, private, protected. Ezek mind a külső szemlélő szempontjából egy adott osztályon belüli függvények/adattagok láthatóságát (elérhetőségét) szabályozzák.
Mivel minden osztályról azt tudjuk, hogy mit csinál, de nem tudjuk (leszarjuk), hogy hogyan.
Fentebbi példa esetén a HttpConnector osztályt mondjuk létrehozzuk, aztán van neki két publikus függvénye, egy connectTo(string const &cim), meg egy disconnect().Te ebből, mint ember, aki az osztályt használja, ennyit látsz. Nem látod, hogyan oldja meg a csatlakozást, nem látod, milyen adattagjai (változói) vannak, stb. És igazából, le is szarod, mert Te ezt csak használni szeretnéd.
Tehát a példánkban az osztálynak kettő darab publikus függvénye van (C++ esetén konstruktor, destruktor kivételével), a connect meg a disconnect, és ki tudja mennyi private/protected.
Az, hogy ezek között mi a különbség, legyen házi, innentől már nem nehéz.

Header: C#-nál van header file?
Vagy itt már C++ról beszélünk? A header-t egyelőre fogd fel úgy, mint az a file, ami leírja, hogy néz ki a class, és tekints rá úgy, mint egy hatalmas előny, hogy van egy kicsike file-od, amiben benne van minden függvény, member, meg minden, így elég egy bármilyen osztályra vetni egy pillantást, és azonnal tudod, hogy mire számíthatsz tőle. 
Egyébként egy nagyon hasznos dolog, Én imádom, hogy van.
Annyi még, hogy header-be kifejtést nem írunk, (inline kivételével, de azt most inkább hanyagold még), kézeltörés jár érte. Header-fileban definiálod a class-t, cpp file-ban kifejted.Ha van valami, amit nem írtam le/nem tiszta, kérdés jöhet.
Kollegák: Ha valaki kiegészítené, az is jöhet, de lehetőleg vegyük figyelembe, hogy junior kollegához beszélünk, és olyankor a túl sok infónak általában az a vége, hogy semmi nem marad belőle/csak összezavarodik szegény.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Interactive Brokers társalgó
- VR topik (Oculus Rift, stb.)
- QNAP hálózati adattárolók (NAS)
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- PlayStation 5
- Gumi és felni topik
- Ettől lesz más a tévézés? Teszten a OneTV SoundBox
- BestBuy ruhás topik
- A napi Windows-hiba? Teljes adatvesztés Bitlockerrel
- Milyen házat vegyek?
- További aktív témák...
- Lenovo Thinkpad T490, 14" FHD IPS kijelző, I7-8565U CPU, 8GB DDR4, 256GB SSD, W11, Számla, 1 év gara
- LG 55QNED80T3A 4K UHD Smart AI TV MAGIC MOTION TÁVIRÁNYÍTÓVAL!
- Macbook Air 13" M1 A2337 2020 8GB Viseltes eszt. áll.
- Macbook Air 13" M1 A2337 2020 8GB Pixelhiba
- Macbook Air 13" M1 2020 (2021) A2337 16GB
- Fractal Design Gamer PC - Intel i5-9600k 16GB 1000GB RTX 2060 1 év garancia!
- ÁRGARANCIA!Épített KomPhone i9 14900KF 32/64GB DDR5 RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Samsung Galaxy S23 Ultra 5G 512GB, Kártyafüggetlen, 1 Év Garanciával
- Gamer PC-Számítógép! Csere-Beszámítás! I7 6700 / Rog RX580 8GB / 32GB DDR4 / 500GB SSD
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest




Vagy itt már C++ról beszélünk? A header-t egyelőre fogd fel úgy, mint az a file, ami leírja, hogy néz ki a class, és tekints rá úgy, mint egy hatalmas előny, hogy van egy kicsike file-od, amiben benne van minden függvény, member, meg minden, így elég egy bármilyen osztályra vetni egy pillantást, és azonnal tudod, hogy mire számíthatsz tőle. 

