TestLine - OO Programozás alapjai Minta feladatsor

Hasonló dokumentumok
Osztályok. 4. gyakorlat

Programozási nyelvek Java

OOP #14 (referencia-elv)

OOP: Java 8.Gy: Abstract osztályok, interfészek

JAVA PROGRAMOZÁS 2.ELŐADÁS

Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni:

és az instanceof operátor

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

Java V. Osztályszint. lyszintű ű tagok. Példányváltozó. Osztályváltozó. Általános Informatikai Tanszék Utolsó módosítás:

Objektumorientált programozás C# nyelven

Széchenyi István Egyetem. Programozás III. Varjasi Norbert

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás:

Java VI. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. Java VI.: Öröklődés JAVA6 / 1

Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés.

C# osztálydeníció. Krizsán Zoltán 1. .net C# technológiák tananyag objektum orientált programozás tananyag

Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;

Objektumorientált programozás C# nyelven

Objektumorientált paradigma és programfejlesztés Bevezető

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek

Java programozási nyelv 5. rész Osztályok III.

C# osztályok. Krizsán Zoltán

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?

Programozási nyelvek Java

Programozás III KIINDULÁS. Különböző sportoló típusok vannak: futó, magasugró, focista, akik teljesítményét más-más módon határozzuk meg.

3. Osztályok II. Programozás II

Pénzügyi algoritmusok

Felhasználó által definiált adattípus

Bánsághi Anna 2014 Bánsághi Anna 1 of 33

C++ programozási nyelv Konstruktorok-destruktorok

Java programozási nyelv 4. rész Osztályok II.

Objektumorientált programozás C# nyelven

Web-technológia PHP-vel

Vizuális és eseményvezérelt programozás , II. félév BMF NIK

Objektumorientált programozás IX. Osztályok, objektumok

JAVA PROGRAMOZÁS 3.ELŐADÁS

Bevezetés a programozásba Előadás: Tagfüggvények, osztály, objektum

Objektumelvű programozás

Programozás II. 2. gyakorlat Áttérés C-ről C++-ra

Java és web programozás

Bevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész

Öröklés és Polimorfizmus

Java és web programozás

Objektumorientált programozás C# nyelven

OOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN

Java II. I A Java programozási nyelv alapelemei

Alkalmazott Modul III 6. előadás. Objektumorientált programozás: öröklődés és polimorfizmus

Virtuális függvények (late binding)

Adatstruktúrák, algoritmusok, objektumok

Osztálytervezés és implementációs ajánlások

Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban

Osztálytervezés és implementációs ajánlások

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem

Programozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás

OOP: Java 8.Gy: Gyakorlás

III. OOP (objektumok, osztályok)

Statikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék

Java II. I A Java programozási nyelv alapelemei

Abstract osztályok és interface-ek. 7-dik gyakorlat

A függvények névvel rendelkező utasításcsoportok, melyeknek információkat adhatunk át, és van egy visszatérési értékük.

Java III. I I. Osztálydefiníció (Bevezetés)

Programozás I. Első ZH segédlet

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

C++ programozási nyelv

Objektumorientált paradigma és a programfejlesztés

Elemi Alkalmazások Fejlesztése II.

Java III. I I. Osztálydefiníció (Bevezetés)

OOP: Java 4.Gy: Java osztályok

Programozás. C++ osztályok. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN

Szoftvertechnolo gia gyakorlat

JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése

Objektumorientált programozás C# nyelven

Programozási nyelvek Java

Java és web programozás

TestLine - zsoltix83 hálozat 1 Minta feladatsor

Programozás I. 5. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás

Programozás II. 4. Dr. Iványi Péter

Programozási Paradigmák és Technikák

Programozás II gyakorlat. 4. Öröklődés

Objektumorientált szoftverfejlesztés alapjai

Informatika terméktervezőknek

A C# programozási nyelv alapjai

BME MOGI Gépészeti informatika 8.

Származtatási mechanizmus a C++ nyelvben

Programozás II. labor

Osztályok. construct () destruct() $b=new Book(); $b=null; unset ($b); book.php: <?php class Book { private $isbn; public $title;

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás

Kivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat

Objektumok inicializálása

C++ programozási nyelv Struktúrák a C++ nyelvben

Bevezetés a programozásba Előadás: A const

OAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1.

Objektum orientált kiterjesztés A+ programozási nyelvhez

Programozási nyelvek II.: JAVA

1. Öröklés Rétegelés Nyilvános öröklés - isa reláció Korlátozó öröklődés - has-a reláció

OOP. Alapelvek Elek Tibor

Bevezetés a programozásba előadás: Öröklődés

Alprogramok, paraméterátadás

Átírás:

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