Az oop (kapszulázás, absztrakció, polimorfizmus és öröklés) alapfogalmai a programozó blogja - asp

Kezdjük örökséggel. A Wikipédia egy teljesen normál definíciót ad: lehetővé teszi egy új osztály (egy szülő) alapján történő leírását, míg a szülőosztály tulajdonságait és funkcionalitását az új osztály kölcsönzi. Más szóval, az örökös osztály végrehajtja egy már létező osztály (alap osztály) meghatározását. Ez lehetővé teszi az osztály-utód objektumainak kezelését ugyanúgy, mint az alap osztály objektumainak. Mint tudják, a C # nem támogatja a többszörös örökséget. Az interjúban, közvetlenül a kifejezés után, megkérdezik a kérdést: "Miért nem támogatja?". És a válasz, "mert aranyér kisebb" - nem felel meg. Mindig azt gondolom, és a megkérdezett személy tudja a választ. Azt hiszem, inkább nem, mint igen. Csak a válasz végén kérdezze meg a helyes választ, és nézze meg, mit nem tud.
A polimorfizmus ugyanazon felületen lévő tárgyak felcserélhetősége. A programozási nyelv támogatja a polimorfizmust, ha az ugyanazon specifikációjú osztályok különböző megvalósításokkal rendelkeznek. Például: újratöltési módszerek és felülmúló módszerek (örökség vagy a kapcsolódási pontok eltérő megvalósítása).
Az inkapsuláció az úgynevezett fekete dobozhatás. Tudod, mit kell benyújtania a bejárathoz, és tudod, mi lesz a kiútnál, a folyamat nem zavarja. Számomra ez az egyik legfontosabb fogalom. Jelentése nem az, hogy kalapálja a fejedet a baloldali ostobasággal. Sokan elfelejtik ezt az interjúban, és így hülye kérdések kérdezik: "Hogyan működik a szemétgyűjtő?". És szeretem, mint webes programozó nada? Encapsulation! Tudom, hogy a szemétgyűjtés nem az én problémám, és hűvös programozó lehet, és nem tudom, hogyan működik ott minden. Példa: egy tisztító hölgy dolgozik, és elkezdi megkérdezni, hogyan működik a porszívó, hogyan mozog minden, stb. Ha tudja - ez plusz, mérnökként dolgozhat, és miért kell tennie. Azt is szeretnék megkérdezni: "Mi a különbség a kapszulázástól való elrejtés között?" Nem tudtam a választ. Hallott a "elrejtésről", de mi ez, csak elfelejtettem (ismét azt mondom, nem vagyok tanító). Az interjú után nézegettem az internetre, és rájöttem, milyen hülye kérdés volt (nem az a tény, hogy megtaláltam a helyes választ). Ami engem illet, a rejtekezés része a kapszulázásnak. Még azt sem tudom, hogy milyen választ akarnak tőlem. Rájöttem, hogy a kapszulázás alatt álló személy megértette - nem az a hír, hogy mi történik a módszeren belül. De elrejti a hozzáférési szinteket, azaz magán, belső, védett. Itt vannak egyszerűen különböző iskolák, nekem eltitkolás, és van kapszulázás, és a kérdés az, mi a különbség - csak hülye. Ez olyan, mint egy kérdés: "Mi a különbség az interpoláció és a közelítés között?" A kérdés hülyeség, mert az interpoláció a közelítés egyik fajtája. Még mindig azt kérdezné: "Mint egy alma különbözik az alma". És próbálja kitalálni, hogy tudni akarja: "Mi a különbség az alma (fa) és az alma (gyümölcs) között".
Absztrakció. Kérdés: Mi az absztrakció? Számomra ez a kérdés: "Mi az OOP?", "Mi a szerelem?" és így tovább. Miért ilyen kérdés? Definíció, ami a wikiben nem tetszik. És nehéz válaszolni. Ami engem illet, ez valós dolgok, feladatok ábrázolása. akciók stb. a program formában.
Az interjúban tesztelési feladatot kell megadnia, majd kérdezze meg a kódot. És ne keressen botanikusokat, kikkel és undorral dolgozik.
Az interjúban ismerős volt, így egy egyben ezt a hülyeséget kérték. de egyáltalán nem emlékszem, és amikor megkérdeztem, mi az Absztrakció, annyira kibaszott voltam, hogy megértse a fügét!