Új hozzászólás Aktív témák
-
Drizzt
nagyúr
Ebből sajnos úgy tűnik, hogy éppen nem érted az OOP lényegét, de majd idővel az is eljön.

Én az öröklésből elsőre a polimorfizmust emelném ki. Van például egy Alakzat osztályod. Ebben van egy teruletSzamitas metódus. Van két Alakzatod, Kor és Negyzet. Kor és Negyzet nyilván teljesen máshogy számítja ki a területét, más belső tényezők alapján. De mindkettőben közös, hogy rendelkeznek területtel, és neked ha van egy raklapnyi Alakzatod, egyszerűbb dolgod van, ha mindegyik objektum megmondja magáról, hogy az ő területe mennyi. Persze itt is megcsinálhatod, hogy valamilyen típus változóban elrakod az Alakzat típusát, és ez alapján döntöd el a területszámító függvényben, hogy mit kell tenni. De ez hosszú távon teljesen fenntarthatatlan lesz. Ugyanis ha hozzáadsz egy új Alakzatot, 99%, hogy nem fogod megkeresni az összes if-et, ami Alakzatokat kezel, s el fog romlani a programod. Míg ha a teruletSzamitas abstract metódus, vagy interface-ben van megadva, akkor amint létrehozol egy újfajta Alakzatot, kötelező lesz megadnod a teruletSzamitas fuggveny implementaciojat. Másik probléma: hogyan kezeled azt, hogy egy Kor átmérővel rendelkezik, de egy Negyzet pedig oldal hosszúsággal? Mondhatod, hogy van egy változód, ami vagy az egyik, vagy a másik dolgot reprezentálja. Viszont ha bevezetsz egy téglalapot, akkor már nem lesz elég egy oldal, kettő kell. Ilyenkor mit csinálsz? Ha az Alakzatokban csak az a közös, hogy van számítható területük, akkor nem kell ezzel foglalkoznod. Minden osztályod csak annyit fog magából megmutatni a külvilágnak, ami feltétlenül szükséges.
-
bandi0000
nagyúr
Sztem rosszul közelíted meg a dolgot képzeld el így
Van egy osztályod ami tárolja az autók fő tulajdonságait mint pl Le, fogyasztás stb, amit minden autóra el lehet sütni, ebből örökölnek a konkrét típusok, amiknek meg lesznek a fő osztály adattagjai, mint a Le meg a fogyasztás, de ehhez hozzá rakhat még mást, ami esetleg csak rá vonatkozik
Az egésznek az a lényege, hogy ha hasonló osztályaid vannak, akkor nem mindegyikben hozod létre ugyan azokat a változókat, hanem csinálsz egy ős osztályt, ami tartalmazza ezeket a közös tagokat és a többi csak örökli
+ ugyan ez igaz a függvényeire is, pl ha másodfokú egyenletet szeretnél kiszámolni, akkor ha már van egy osztályod ami össze ad két számot, akkor ezt se kell megírni megint csak használni
Nyilván ezek móricka példák, és semmit értelmét nem látod ezeknek, de egy nagy alkalmazásban majd igen jó jönnek ezek
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- sziku69: Fűzzük össze a szavakat :)
- Kormányok / autós szimulátorok topikja
- Otthoni hálózat és internet megosztás
- Soundbar, soundplate, hangprojektor
- Wuthering Waves
- Milyen TV-t vegyek?
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- iPhone topik
- Képhibák a GeForce-on? Az NVIDIA szerint egy Windows frissítés okozza
- GL.iNet Flint 2 (GL-MT6000) router
- További aktív témák...
- Asus XG-C100F SFP+ NIC és 3m SF 10G SFP+ DAC kábel - garanciális
- Gamer PC eladó Ryzen 7 5700X + RTX 5070 Prémium AORUS build,megkímélt, erős és esztétikus
- Acer Nitro 5 RTX 4060 Gaming notebook keveset használt szép állapotú
- HP Prodesk 600 G4 USDT I5 8GB ram 512GB SSD
- FULL CTO MACBOOK PRO 16" - APPLE M1 MAX - 64 GB RAM - 1 TB SSD - 120 nap GARANCIA
- BESZÁMÍTÁS! ASRock B550 R7 3700X 32GB DDR4 512GB SSD AORUS RTX 3070Ti 8GB LIAN LI 216 RX ASUS 750W
- BESZÁMÍTÁS! Nintendo Switch OLED 64GB játékkonzol garanciával hibátlan működéssel
- MacBook Pro 14 2024 M4, 32 GB RAM, 1 TB SSD 27% Áfás
- BESZÁMÍTÁS! Gigabyte H110M i5 7600K 16GB DDR4 240GB SSD GTX 1060 6GB GDDR5 Rampage SHIVA 400W
- BESZÁMÍTÁS! Intel Core i7 4790 4 mag 8 szál processzor garanciával hibátlan működéssel
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


