2016.09.20. 18:46:36 Oktató: n/a Kérdések száma: 16 kérdés Kitöltési idő: 29:45 Szélsőséges pontok: -196 pont +672 pont z Óbudai gyetem Programozás III című tárgyának előkövetelményeként létező Programozás I és II tantárgyak objektum-orientált programozás elméleti és gyakorlati alapjait átismétlő bevezető feladatsor. 1. Konstruktor 2:09 Nehéz Tegye sorrendbe a felsorolt elemek futását a ar osztály példányosításakor, ha a konstruktor egy 10-es egész számot kap paraméterül! Legfölülre tegye azt, amelyiknek a valós utasításai a legelőször futnak le! [1] public abstract class Vehicle : Object { [2] public Vehicle() {... } [3] public Vehicle( int a ) : this() {... } [4] } [5] public abstract class ar : Vehicle { [6] public ar( int a ) : this() {... } [7] public ar() : base(42) {... } [8] } ar() Vehicle(42) Vehicle() ar(10) Object() 2. Miben tér el egy osztályban a konstruktor egy példánymetódustól? konstruktoroknak nincsen visszatérési értékük. konstuktorokat nem lehet overload-olni. konstruktorok egy példány életében csupán egyszer futhatnak le. konstruktoroknak mindig void a visszatérési értékük. gy konstruktor hívásával valójában egy hívási láncot indítunk el. 1:13 Könnyű TestLine - OO Programozás alapjai oldal 1/6
3. 4. 5. Melyik konstansok deklarációja helyes a #-ban? (az Item egy osztály, melynek létezik paraméter nélküli konstruktora) private const static int NUMR_O_ROWS = 10; private static readonly int NUMR_O_ROWS = 10; private static const int NUMR_O_ROWS = 10; private const int NUMR_O_ROWS = 10; private static readonly Item SPIL_ITM = new Item(); private const Item SPIL_ITM = new Item(); Szintaktika 1:15 Könnyű z Objektum Orientált Programozásban mit takar az overload(ing)? (1 helyes válasz) 1:48 Normál gy osztályhierarchiában értelmezett fogalom, mely elsősorban azonos nevű, de különböző aláírású metódusokra gy osztályban értelmezett fogalom, mely elsősorban azonos nevű, de különböző aláírású metódusokra gy osztályhierarchiában értelmezett fogalom, mely elsősorban azonos aláírású metódusokra gy osztályban értelmezett fogalom, mely elsősorban azonos aláírású metódusokra Párosítsa össze az osztály relációkat 'definíciójukkal', avagy kapcsolódó kifejezésükkel! 2:29 Könnyű Reláció: (1) aggregáció, (2) aglomeráció, (3) öröklés, (4) asszimiláció, (5) asszociáció, (6) hierarchizálás, (7) komplementer, (8) kompozíció Reláció Struktúra, viselkedés megosztása, hierarchia kialakítása gymástól független osztályok társítása tartalmazott nem vehető ki a tartalmazóból Rész-egész egyirányú kapcsolat (a rész életciklusa lehet független az egésztől) TestLine - OO Programozás alapjai oldal 2/6
6. z Objektum Orientált Programozásban mit takar az override(ing)? (1 helyes válasz) 1:48 Normál gy osztályhierarchiában értelmezett fogalom, mely elsősorban azonos aláírású metódusokra gy osztályban értelmezett fogalom, mely elsősorban azonos aláírású metódusokra gy osztályhierarchiában értelmezett fogalom, mely elsősorban azonos nevű, de különböző aláírású metódusokra gy osztályban értelmezett fogalom, mely elsősorban azonos nevű, de különböző aláírású metódusokra 7. Jelölje meg, hogy melyik osztályok között milyen reláció áll fenn! 4:13 Nehéz [ 1] public class ddress { [ 2] [ 3] private ity city; [ 4] private String line; [ 5] private ddressetails details; [ 6] [ 7] public ddress( ity city, String line ) { [ 8] this.city = city; [ 9] this.line = line; [10] this.details = new ddressetails(); [11] } [12] [13] public bool islocal( ountry country ) { return true; } [14] public String getnameoftheity( return city.tostring(); ); [15] [16] } G minden sorban pontosan egy helyes válasz van sszociáció ggregáció Kompozíció Öröklés gyik sem ddress és Object ddress és ddressetails ddress és ity a city mező kapcsán ddress és ountry ddress és bool ddress és String a line mező kapcsán ddress és String a getnameoftheity visszatérési értéke kapcsán TestLine - OO Programozás alapjai oldal 3/6
8. Konstruktor 2:16 Nehéz Jelölje meg, mely konstruktor hívások futnak le az alábbi példában, hogyha létrehozunk egy példányt az alábbi módon: new og("odri", 10) [ 1] public abstract class nimal { [ 2] public nimal() {... } [ 3] public nimal( int a ) : this("kele") {... } [ 4] public nimal( String name ) : this() {... } [ 5] } [ 6] public abstract class og : nimal { [ 7] public og() : base("name") {... } [ 8] public og( double d ) : base(42) {... } [ 9] public og( String name, int a ) : this() {... } [10] } G H I J og("odri", 10) nimal("name") nimal(42) og("name", 10) nimal() og() og(10.0) og(42) Object() nimal("kele") 9. 10. System.onsole.WriteLine() utasításban miket választunk el a "dot notation"-nel? (1 helyes válasz) System namespace, onsole class, WriteLine() method System namespace, onsole class, WriteLine method System class, onsole innerclass, WriteLine method System class, onsole innerclass, WriteLine() method System namespace, onsole class, WriteLine class lapok 1:10 Könnyű Melyek algoritmusok az alábbiak közül? lgoritmus 1:57 Nehéz Olyan egyenes kieséses tenisz torna levezénylése, ahol mindig a vesztes jut tovább Tengerparton/partközelben a kavicsok tenger/hold (apály/dagály) általi nagyság szerinti sorba rendezése Szavak ábécé rendbe rendezése Szavak össze-vissza keverése Szavak nem ábécé, de egy meghatározható sorrendbe rendezése TestLine - OO Programozás alapjai oldal 4/6
11. Tegye sorrendbe az egyes osztály relációkat erősségük szerint! Gyenge kapcsolat Kompozíció ggregáció sszociáció Öröklés rős kapcsolat 0:33 gyszerű 12. Mit nevezünk a forráskódban "mágikus számnak"? (1 helyes válasz) Tiszta kód 1:37 Normál ciklusváltozókat nevezzük így. ármilyen megnevezés nélkül szereplő (és nem egyértelmű) literált. zt a számot, mely valamilyen oknál fogva varázslatos dolgokat hajt végre az algoritmusban! felsoroltak közül egyik sem igaz. 13. Jelölje az igaz állításokat! lapok 1:23 Könnyű mutator metódusok olyan tagfüggvények, melyek egy mező értékét felügyelten beállítják. z accessor metódusok olyan tagfüggvények, melyek egy mező értékét (felügyelten) visszaadják. mutator metódusokat szokás getter metódusoknak is hívni. z accessor metódusokat szokás setter metódusnak is hívni. property a # nyelvben egy olyan szintaktikai cukorka, mely egy mező köré egy-egy accessor/mutator metódus párt helyez (vagy akár csak az egyiket) TestLine - OO Programozás alapjai oldal 5/6
Powered by TP (www.tcpdf.org) TestLine - OO Programozás alapjai 14. Melyek érvényes állítások az algoritmusokra nézve? (melyek azok, melyeknek igaznak kell lenniük bármely algoritmusra nézve) lgoritmus 2:17 Könnyű Hordozósemlegesség: az eljárás ereje a logikai szerkezetében rejlik, nem a megvalósítására felhasznált anyagok oksági tulajdonságaiban Nem garantált eredmény: az algoritmus nem minden esetben produkálja ugyanazt az eredményt ugyanolyan körülmények között lapvető intelligencia: az algoritmusok olyan receptek, amelyek a szakértő 'szakács' számára tartalmaznak műveleteket (a lépések akár összetettek is lehetnek, melyeket csak egy okos gépezet hajthat végre) Hordozófüggő: az eljárás más és más eredményt produkál attól függően, hogy milyen környezetben implementáljuk lapvető butaság: az algoritmusok valamifajta receptek, amelyeket a kezdő 'szakács' számára készítettek (a lépések egyszerűek, elég egyszerűek ahhoz, hogy egy nagyon egyszerű gépezet végrehajtsa) Garantált eredmény: az algoritmus tévedhetetlen recept (bármi is legyen az, amit egy algoritmus csinál, mindig ugyanúgy csinálja, ha hiba nélkül hajtjuk végre) 15. Ha azt szeretném, hogy egy mezőjét az osztálynak a felhasználás helyén (mely kívül esik az osztály implementációjától) csak olvasni lehessen, mit tegyek? (1 helyes válasz) Legyen a mező readonly módosítóval ellátva! Ne legyen a mező public láthatóságú! mezőhöz készített public property-nek csak get blokkot szabad készíteni! lapok 0:48 gyszerű 16. Tegyük fel, hogy van egy Person nevű osztályunk, mely egy természetes személy adatait tartalmazza és kezeli. felsorolt elemek kapcsán állítsa be, melyiket milyen módosítókkal látná el! Szintaktika 2:49 Nehéz public private readonly static Születési éve Szemüveges-e avagy sem Magassága Személyek száma a memóriában gy speciális személy az alkalmazásban TestLine - OO Programozás alapjai oldal 6/6