C# osztálydeníció. Krizsán Zoltán 1. .net C# technológiák tananyag objektum orientált programozás tananyag
|
|
- Irma Oroszné
- 9 évvel ezelőtt
- Látták:
Átírás
1 C# osztálydeníció Krizsán Zoltán 1 Általános Informatikai Tanszék Miskolci Egyetem.net C# technológiák tananyag objektum orientált programozás tananyag
2 Tartalom 1 Bevezetés 2 Osztály létrehozása, deníció Adatszer elemek Függvényszer tagok Osztály hatáskör Hozzáférési kategória this pszeudó változó Parciális (részleges) osztály Elemek használata 3 Létez osztály használata Példányosítás Hivatkozás
3 Osztály - egység Önálló hatáskörrel rendelkez, adattípus melyben logikailag összetartozó elemek találhatóak: adatszer függvény szer
4 Osztály deklaráció attributes opt class-modiers opt partial opt class identier type-parameter-list opt class-base opt type-parameter-constraints-clauses opt class-body ; opt 1 class Pelda 2 { 3 }
5 Osztály módosítók Egy módosító csak egyszer szerepelhet! new public protected internal private abstract sealed static
6 Osztály elemei
7 Osztály elemei class-member-declaration: constant-declaration: állandó az osztályon belül eld-declaration: változó az osztályon belül method-declaration: metódus, függvény property-declaration: tulajdonság, kívülr l változónak látszik, de metódusok szolgálják ki. indexer-declaration: [] speciális tulajdonság constructor-declaration: kontruktor destructor-declaration: destruktor static-constructor-declaration: osztály szint konstruktor type-declaration: típus event-declaration (nem tananyag) operator-declaration ( nem tananyag)
8 Osztály elemeinek elnevezése Minden elemének azonosítója van. Adatszer elemek azonosítóinak különböznie kell az elemekt l: konstans, adattag, tulajdonság, esemény, típus. Metódus nevének különböznie kell a nem metódusok neveit l. Vannak foglalt nevek, amiket nem használhatunk automatikusan generált elemeknek: get_item, set_item, add_e, remove_e, get_xxx, set_xxx Finalize JAVA-sok vigyázat (ott az ilyen nevek divatosak)!
9 Outline 1 Bevezetés 2 Osztály létrehozása, deníció Adatszer elemek Függvényszer tagok Osztály hatáskör Hozzáférési kategória this pszeudó változó Parciális (részleges) osztály Elemek használata 3 Létez osztály használata Példányosítás Hivatkozás
10 Adattag (eld) Deníciója: [módosítók] típusnév azonosítólista A típusnév valamelyik egyszer típus, tömb típus, vagy osztálynév lehet. A névlista elemeit vesz vel választjuk el, formájuk: azonosító[=inicializáló kifejezés] 1 class Pelda 2 { 3 private int _filed1; 4 private int _filed2 = 7; 5 }
11 Adattag (eld) II Az inicializáló kifejezésben csak el tte már deklarált adattagok használhatók. Az inicializáló kifejezés minden példányosítás esetén kiértékel dik. Nem inicializált adattag az alábbi (típustól függ ) default értékkel inicializálódik: boolean: false char: '\u0000' minden egész típus: 0 minden lebeg pontos típus: 0.0 osztály típus: null
12 Csak olvasható adattag readonly kulcsszó használata, Futási id ben állítható az értéke, de csak egyszer! Értékét akár fv. hívás visszatérési értéke is szolgáltathatja! értéke futásidej is lehet (konstans csak fordítási idej ) beállítása lehet deklaráció során vagy konstruktorba (kés bb megismerjük) vagy statikus konstruktorban (kés bb megismerjük) out vagy ref paraméter nem lehet (kés bb megismerjük)
13 Konstans Értéke fordítási id ben állítódik be, futási id ben értéke nem változtatható. Csak konstans értékét veheti fel. Alapértelmezett tárolási osztálya static. Nem kell példányosítani az osztályt ahhoz, hogy használjuk MSIL kódban lcd utasítás (load constant) tölti fel a stack-re.
14 Tulajdonság Kívülr l adattagnak látszik belülr l metódusok. Lehet csak írható, lehet csak olvasható. getter-ben kell legyen egy megfelel return setter-ben létezik egy csak olvasható value változó Nem lehet fv. bármilyen paramétere! Absztrakt osztály segítségével kikényszeríthet a léte! lehet automatikus: public int X { get; set; } public int X { get; private set; }
15 Tulajdonság váz [attributes] [modifers] <type> <property-name> { [ set { <accessor-body> } ] [ get { <accessor-body > } ] }
16 Tulajdonság példakód 1 public class Button: Control 2 { 3 private string caption; 4 public string Caption { 5 get { 6 return caption; 7 } 8 set { 9 if (caption!= value) { 10 caption = value; 11 Repaint(); 12 } 13 } 14 } 15 public override void Paint(Graphics g, Rectangle r) { 16 // Painting code goes here 17 } 18 }
17 Outline 1 Bevezetés 2 Osztály létrehozása, deníció Adatszer elemek Függvényszer tagok Osztály hatáskör Hozzáférési kategória this pszeudó változó Parciális (részleges) osztály Elemek használata 3 Létez osztály használata Példányosítás Hivatkozás
18 Metódus Hasonló a C függvény deníciójához. Formája: [módosítók]típus név(paraméterlista)[... ] A módosítókkal és a [... ] helyén álló elemmel kés bb foglalkozunk. A többi ugyanaz, mint a C-ben, kivéve a tömb paramétereket (hiszen nincs pointer!)
19 Delegátum - esemény Függvényszer elemek függvényeket állíthatunk rá, küls metódusokra is "mutathat, használata szempontjából függvény hívásnak látszik, er s típusosság: kiköveteli a megfelel paramétereket és megfelel visszatérési értéket. kódban egy metódus hívás látszik, de hatására lehet, hogy több metódus hívódik meg.
20 Túlterhelt operátor b vagy a@ (pl.: a + b, a++, ++a) konverziós operátorok (inplicit, explicit) A C# nyelv lehet séget nyújt arra, hogy a programozó által deniált típusokra az operátorok átértelmezhet k legyenek. A polimorzmus implementációja! Egy operátorjel operandusainak típusa határozza meg az operátorjel jelentését. A jelentést függvény denícióval (tagfüggvénnyel) írhatjuk le.
21 Tulajdonság Bár kívülr l adattagnak látszik, de a megvalósítása függvény szer. Kiszolgáló elemek speciális függvényszer elemek speciális nevük van (set get) nincs paraméter listája nincs visszatérési érték típusa [attributes] [modifers] <type> <property-name> { [ set { <accessor-body> } ] [ get { <accessor-body > } ] }
22 Indexer A [] operátor jelentésének átdeniálása. Osztályunk példányait tömbként használhatjuk. A tulajdonság és az operátor felüldeniálás keveréke. A paraméter lehet int vagy string. public Alapelem this[int index] { get { return (Alapelem)arElemek[index]; } set { arelemek.insert(index, value); } }
23 Outline 1 Bevezetés 2 Osztály létrehozása, deníció Adatszer elemek Függvényszer tagok Osztály hatáskör Hozzáférési kategória this pszeudó változó Parciális (részleges) osztály Elemek használata 3 Létez osztály használata Példányosítás Hivatkozás
24 Osztály hatáskör Az egységbe zárás alapelvének implementálása: minden osztály saját hatáskörrel rendelkezik. Egy osztály minden eleme tehát lokális az osztályra nézve. Következmények: Különböz osztályokban használhatjuk ugyanazt az azonosítót eltér értelemben! Az osztályon belül az elemek egymásra a nevükkel hivatkozhatnak. A metódusok használhatják az adattagokat és a többi metódust.
25 Osztály hatáskör Hatáskörök osztály hatáskör: minden eleme az osztálynak az osztály bármely eleméb l használható metódus hatáskör: formális paraméter a metódus törzsében bárhol használható lokális változó: bevezetést l a metódus végéig. Ha a változót a metódus els sorában vezettük be, akkor megegyezik a formális paraméterével blokk hatáskör: kapcsos zárójelek közötti rész, metóduson belül
26 Egyszer példa 1 public class Komplex { 2 double _valosresz; 3 double _kepzetesresz; 4 public void Beallit(double valos, 5 double kepzetes) { 6 _valosresz = valos; 7 _kepzetesresz = kepzetes; 8 } 9 public double GetValosResz() { 10 return _valosresz; 11 } 12 }
27 Outline 1 Bevezetés 2 Osztály létrehozása, deníció Adatszer elemek Függvényszer tagok Osztály hatáskör Hozzáférési kategória this pszeudó változó Parciális (részleges) osztály Elemek használata 3 Létez osztály használata Példányosítás Hivatkozás
28 Hozzáférési kategória Módosító public protected internal protected internal private Hozzáférési kategória nyilvános: bármely csomagban lev bármely osztályból elérhet. védett, bels : magyarázata majd az öröklésnél védett: magyarázata majd az öröklésnél bels : csak ebb l a szerelvényb l saját: csak ebb l a típusból
29 Alapértelmezett hozzáférési kategóriák Ha nem adunk meg, akkor attól függ, hogy milyen elemen belül deniáltuk: Minden névtér explicit publikus, és nem lehet megadni semmit Típus deklarálása szerelvényen belül csak public vagy internal lehet, az internal az alapértelmezett. Osztály elemei bármelyik lehet, a private az alapértelmezett. Struktúra, interfész, felsorolt típusoknak majd kés bb.
30 Hozzáférési kategória használata Az információrejtés alapelvének betartása érdekében minden elem kapja a lehet legsz kebb kategóriát. Szokásos konvenciók: Egy osztály csak akkor legyen public, ha általános használatra szántuk. Az adattagok private (esetleg protected) min sítést kapjanak. Ha szükséges, metódusokon keresztül legyenek elérhet k. A public adattag hiba! A metódusok közül csak a "külvilág" számára szükségesek (az osztály interface-ét jelent k) legyenek public min sítés ek.
31 Outline 1 Bevezetés 2 Osztály létrehozása, deníció Adatszer elemek Függvényszer tagok Osztály hatáskör Hozzáférési kategória this pszeudó változó Parciális (részleges) osztály Elemek használata 3 Létez osztály használata Példányosítás Hivatkozás
32 this pszeudó változó Minden objektumhoz saját adattag-készlet tartozik az osztály összes objektumára közös a tagfüggvény-készlet. Kérdés: hogyan tud a tagfüggvény az aktuális objektum adattagjaira hivatkozni? Megoldás: Minden objektumhoz létezik az el redeniált this pszeudó változó, amely az adott objektumra hivatkozik. Ezen keresztül éri el az adattagot a tagfüggvény. A this pszeudó változó explicite is használható.
33 this pszeudó változó II public double get_valosresz() { return _valosresz; } tehát valójában így olvasandó: public double get_valosresz() { return this._valosresz; } A fordítóprogram természetesen az utóbbi formát is elfogadja.
34 Outline 1 Bevezetés 2 Osztály létrehozása, deníció Adatszer elemek Függvényszer tagok Osztály hatáskör Hozzáférési kategória this pszeudó változó Parciális (részleges) osztály Elemek használata 3 Létez osztály használata Példányosítás Hivatkozás
35 Parciális (részleges) osztály Az osztály elemeit több forrás fájlban vezetjük be. A két deklarációt összefésüli, ezért Túl nagy osztály esetén Különböz felel sség esetén pl. Winforms alkalmazásnál a VS által generált kód külön fájl pl. ASP.NET-ben a saját kódunk is parciális osztályban van. ugyanolyan nev elemek nem lehetnek a különböz helyen, osztály módosító csak ugyanolyanok lehetnek.
36 Outline 1 Bevezetés 2 Osztály létrehozása, deníció Adatszer elemek Függvényszer tagok Osztály hatáskör Hozzáférési kategória this pszeudó változó Parciális (részleges) osztály Elemek használata 3 Létez osztály használata Példányosítás Hivatkozás
37 Osztályon belül (mivel egy hatáskörben vannak): névvel formája: adattag = ertek vagy metodus(aktualis_aparameterek) metódusban a paraméterre nevévvel Ha a paraméter név megegyezik egy adattag nevével, akkor this.adattag = parameter használható (pl.: this.adat = adat)
38 Outline 1 Bevezetés 2 Osztály létrehozása, deníció Adatszer elemek Függvényszer tagok Osztály hatáskör Hozzáférési kategória this pszeudó változó Parciális (részleges) osztály Elemek használata 3 Létez osztály használata Példányosítás Hivatkozás
39 Példányosítás Az osztály objektumok létrehozásához használható mintaként tekinthet. A C# programban az osztálynév típusként használható. Az objektum létrehozásának folyamata a példányosítás. Egy osztályból tetsz leges számú objektum példányosítható.
40 Példányosítás II A legegyszer bb mód egy osztály típusú változó deniálása. Formája: [módosítók] osztálynév azonosító = new osztálynév([paraméterek]) A () zárójelpár a paraméterek hiányában is kötelez. A folyamat: Lefoglalódik az objektumnak szükséges hely. Inicializálódik az objektum (a programozó befolyásolhatja az inicializálást). A lefoglalt memóriaterületre való hivatkozás kerül a változóba.
41 Példányosítás példa Az el z Komplex osztályt feltételezve Komplex z1 = new Komplex(); Ennek hatására létrejön egy Komplex objektum, z1 változó alkalmas lesz ennek elérésére.
42 Példányosítás példa II Ezek után a alábbi utasítások Komplex z2; // Másik változó ami nem hivatkozik semmire z2 = z1; // Az új változó ugyanarra az objektumra hivatkozik. hatására két különböz változó fog ugyanarra az objektumra hivatkozni (azaz a z1 == z2 értéke true).
43 Outline 1 Bevezetés 2 Osztály létrehozása, deníció Adatszer elemek Függvényszer tagok Osztály hatáskör Hozzáférési kategória this pszeudó változó Parciális (részleges) osztály Elemek használata 3 Létez osztály használata Példányosítás Hivatkozás
44 Hivatkozás Osztály típusú változó mindig hivatkozás, nem objektum! Hivatkozás típusú változó: értéke cím, amely egy objektumot címez meg, (ebben hasonlít a pointerre) vagy null, használata indirekció nélkül magát az objektumot jelenti a kifejezésekben, az értéke (a cím) a programozó számára hozzáférhetetlen (és szükségtelen is), értéke változhat, de az autómatikus.
45 Hivatkozás II Következmény: objektum csak futás közben, dinamikusan (a new operátor használatával) hozható létre. Hivatkozással végezhet m veletek: 1 Oszt refval,refval2; // definicio 2 refval = new Oszt(); // ertekadas uj objektummal 3 refval = rafval2; // ertekadas masik referenciaval 4 rafval = null; // ertekadas null-ra 5 if (refval2!= null) // viszgalat 6 refval2.hello();
46 Hivatkozás példa 1 // osztaly definicio 2 class Person { 3 String name = "Eric"; 4 int age = 25; 5 } // peldanyositas 9 Person p = new Person();
47 Hivatkozás diagramja
48 Hivatkozás diagramja II
49 Objektum elemeinek a használata Osztályon kívülr l (hivatkozáson keresztül) az objektum (egyes esetekben az osztály) nevével min sítve, a. (pont) operátorral. p.age = 32; Metódusra való hivatkozásnál aktuális paramétereket is kell adni, és a hivatkozás a metódus aktivizálását (meghívását) jelenti. p.refresh(name);
50 Hivatkozás az objektum elemeire példa Komplex z1 = new Komplex(); z1.valosresz = 5.0; // remeljuk property z1.beallit(1.0, 1.0); A fenti két hivatkozás azonban nem legális minden esetben. Az információrejtés alapelvének megvalósítása érdekében a C# korlátozza az objektumok tagjaira való hivatkozást.
51 OOP programozás alapelve
Java III. I I. Osztálydefiníció (Bevezetés)
Java III. I I. Osztálydefiníció (Bevezetés) Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 02. 27. Java III.: Osztály definíció JAVA3 / 1 Szintaktikai jelölések A továbbiakban
RészletesebbenJava III. I I. Osztálydefiníció (Bevezetés)
Java III. I I. Osztálydefiníció (Bevezetés) Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 02. 27. Java III.: Osztály definíció JAVA3 / 1 Szintaktikai jelölések A továbbiakban
RészletesebbenOsztályok. 4. gyakorlat
Osztályok 4. gyakorlat Az osztály fogalma Az objektumok formai leírása, melyek azonos tulajdonsággal és operációkkal rendelkeznek. Osztályból objektum készítését példányosításnak nevezzük. Minden objektum
RészletesebbenProgramozás II. 3. gyakorlat Objektum Orientáltság C++-ban
Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban Tartalom OOP ismétlés Osztályok létrehozása Adattagok láthatóságai, elnevezési ajánlások Konstruktor, destruktor this pointer Statikus és dinamikus
Részletesebbenés az instanceof operátor
Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában
RészletesebbenJava VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán
Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában
RészletesebbenC# osztályok. Krizsán Zoltán
C# osztályok Krizsán Zoltán Fogalma Önálló hatáskőrrel rendelkező, absztrakt adattípus, amely több, különböző elemet tartalmazhat. Minden esetben a heap-en jön létre! A programozó hozza létre, de a GC
RészletesebbenOOP: Java 8.Gy: Abstract osztályok, interfészek
OOP: Java 8.Gy: Abstract osztályok, interfészek 26/1 B ITv: MAN 2019.04.03 Abszrakt metódus és absztrakt osztály. Gyakran előfordul a tervezés során, hogy egy osztály szintjén tudjuk, hogy valamilyen metódus
RészletesebbenOOP #14 (referencia-elv)
OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_14-1 - E jegyzet
RészletesebbenJAVA PROGRAMOZÁS 2.ELŐADÁS
Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 2.ELŐADÁS 2014-2015 tavasz Tömbök, osztályok, objektumok, konstruktorok Tömbök 2 Referencia típusú változó Elemtípus Primitív Referencia: osztály,
RészletesebbenJava V. Osztályszint. lyszintű ű tagok. Példányváltozó. Osztályváltozó. Általános Informatikai Tanszék Utolsó módosítás:
Java V. szint lyszintű ű tagok A final minősítő Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 05. Java V.: szintű tagok JAVA5 / 1 Példányváltozó Az eddig megismert adattagokból
RészletesebbenC# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem
C# nyelv alapjai Krizsán Zoltán 1 Általános Informatikai Tanszék Miskolci Egyetem Objektumorientált programozás C# alapokon tananyag Tartalom Bevezetés Lokális változó Utasítások Szójáték Why do all real
RészletesebbenStatikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék
Speciális adattagok és tagfüek Miskolci Egyetem Általános Informatikai Tanszék CPP7 / 1 Statikus adattagok Bármely adattag lehet static tárolási osztályú A statikus adattag az osztály valamennyi objektuma
RészletesebbenJava II. I A Java programozási nyelv alapelemei
Java2 / 1 Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2009. 02. 09. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve
RészletesebbenJava programozási nyelv 4. rész Osztályok II.
Java programozási nyelv 4. rész Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/17 Tartalomjegyzék
RészletesebbenSzéchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu
Programozás III. Varjasi Norbert varjasin@sze.hu 1 A java virtuális gép (JVM) Képzeletbei, ideális számítógép. Szoftveresen megvalósított működési környezet. (az op. rendszer egy folyamata). Feladata:
RészletesebbenA C programozási nyelv V. Struktúra Dinamikus memóriakezelés
A C programozási nyelv V. Struktúra Dinamikus memóriakezelés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv V. (Struktúra, memóriakezelés) CBEV5 / 1 A struktúra deklarációja 1.
Részletesebben1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon
1. Template (sablon) 1.1. Függvénysablon Maximum függvény megvalósítása függvénynév túlterheléssel. i n l i n e f l o a t Max ( f l o a t a, f l o a t b ) { return a>b? a : b ; i n l i n e double Max (
RészletesebbenJava programozási nyelv 5. rész Osztályok III.
Java programozási nyelv 5. rész Osztályok III. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/20 Tartalomjegyzék
RészletesebbenPelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;
Java 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. ( Előfeltétel 12. Tétel ) Az osztály egy olyan típus leíró struktúra, amely
RészletesebbenJava II. I A Java programozási nyelv alapelemei
Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak
RészletesebbenJava és web programozás
Budapesti M szaki Egyetem 2013. szeptember 18. 2. El adás Komplex szám public class Complex { private float repart_; private float impart_; public Complex() { repart_ = 0; impart_ = 0; public Complex(float
RészletesebbenC++ programozási nyelv Konstruktorok-destruktorok
C++ programozási nyelv Konstruktorok-destruktorok Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. szeptember A C++ programozási nyelv Soós Sándor 1/20 Tartalomjegyzék
Részletesebben1. 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?
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? 3. Ismertesse a névtér fogalmát! 4. Mit értünk a "változó hatóköre"
RészletesebbenBevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés
Bevezetés a programozásba 2 7. Előadás: Objektumszű és osztályszű elemek, hibakezelés ISMÉTLÉS Osztály class Particle { public: Particle( X, X, Y); virtual void mozog( ); ); virtual void rajzol( ) const;
RészletesebbenOBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek
OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN vizsgatételek 1. Az objektumorientált programozás szemlélete, az objektum fogalma 2. Az objektumorientált programozás alapelvei 3. A Java nyelv története, alapvető
RészletesebbenObjektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 1. rész Osztályok és objektumok Mezık és metódusok Konstruktor és destruktor Névterek és hatókörök Láthatósági szintek Osztály szintő tagok Beágyazott osztályok
RészletesebbenWeb-technológia PHP-vel
Web-technológia PHP-vel A PHP programnyelv 2, futtatókörnyezet beálĺıtások Erős Bence February 26, 2013 Erős Bence () Web-technológia PHP-vel February 26, 2013 1 / 19 Szuperglobális változók $ GET : request
RészletesebbenDr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás 2015-2016
Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS 2015-2016 Objektumorientált programozás OOP PHP-ben 2 A PHP az 5.0-as verziójától megvalósítja az OO eszközrendszerét OO eszközök:
RészletesebbenJava és web programozás
Budapesti M szaki Egyetem 2013. szeptember 25. 3. El adás User public class User { private String realname_; private String nickname_; private String password_; public User(String realname, String nickname)
RészletesebbenVisual 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.
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. Az osztály egy olyan típus leíró struktúra, amely tartalmaz adattagokat
RészletesebbenJava VI. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. Java VI.: Öröklődés JAVA6 / 1
Java VI. Öröklődés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI.: Öröklődés JAVA6 / 1 Egy kis kitérő: az UML UML: Unified Modelling Language Grafikus eszköz objektum
RészletesebbenObjektumok inicializálása
Objektumok inicializálása Miskolci Egyetem Általános Informatikai Tanszék Objektumok inicializálása CPP4 / 1 Tartalom public adattagok inicializálása felsorolással konstruktor objektum tömbök osztály típusú
RészletesebbenA C programozási nyelv III. Pointerek és tömbök.
A C programozási nyelv III. Pointerek és tömbök. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv III. (Pointerek, tömbök) CBEV3 / 1 Mutató (pointer) fogalma A mutató olyan változó,
RészletesebbenA C programozási nyelv III. Pointerek és tömbök.
A C programozási nyelv III. Pointerek és tömbök. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv III. (Pointerek, tömbök) CBEV3 / 1 Mutató (pointer) fogalma A mutató olyan változó,
RészletesebbenOOP és UML Áttekintés
OOP és UML Áttekintés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 1 / 32 Tartalom jegyzék 1 OOP Osztály Öröklődés Interfész, Absztrakt Osztály Kivétel kezelés
RészletesebbenProgramozás II. 2. gyakorlat Áttérés C-ről C++-ra
Programozás II. 2. gyakorlat Áttérés C-ről C++-ra Tartalom Új kommentelési lehetőség Változók deklarációjának helye Alapértelmezett függvényparaméterek Névterek I/O műveletek egyszerűsödése Logikai adattípus,
RészletesebbenObjektumorientált programozás IX. Osztályok, objektumok
Objektumorientált programozás IX. Osztályok, objektumok 1 Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát képezik. Ismeretük szükséges,
RészletesebbenSzámítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás
Számítástechnika II. BMEKOKAA153 5. Előadás Dr. Bécsi Tamás Kivételkezelés try Azon utasítások kerülnek ide, melyek hibát okozhatnak, kivételkezelést igényelnek catch( típus [név]) Adott kivételtípus esetén
RészletesebbenFüggvények. Programozás I. Hatwágner F. Miklós november 16. Széchenyi István Egyetem, Gy r
Programozás I. Széchenyi István Egyetem, Gy r 2014. november 16. Áttekintés kel kapcsolatos fogalmak deklaráció Több, kompatibilis változat is elképzelhet. Meg kell el znie a fv. hívását. Mindenképp rögzíti
RészletesebbenJava VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07.
Java VI. Öröklődés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI.: Öröklődés JAVA6 / 1 Egy kis kitérő: az UML UML: Unified Modelling Language Grafikus eszköz objektum
RészletesebbenJava Programozás 3. Ea: Java osztályok. OOP alapalapok
Java Programozás 3. Ea: Java osztályok OOP alapalapok 62/1 B ITv: MAN 2018.02.05 Osztály fogalma A Java program osztályok halmaza Egy osztálydefiníció egyben egy teljes fordítási egység (de általában nem
RészletesebbenSzámítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás
Számítástechnika II. BMEKOKAA153 2. Előadás Dr. Bécsi Tamás Tömbök (Arrays) Definíció: típus[] név; (pld. int[] szamok; ) Inicializálás: int[] szamok = new int[4]; int[] szamok = 1,2,4,3,5}; int[] szamok
RészletesebbenPénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Sztringek Osztályok alapjai Sztringek Szöveges adatok kezelése Sztring Karakterlánc (string): Szöveges adat Karaktertömbként tárolva A szöveg végét a speciális
RészletesebbenC++ programozási nyelv Struktúrák a C++ nyelvben
C++ programozási nyelv Struktúrák a C++ nyelvben Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. szeptember A C++ programozási nyelv Soós Sándor 1/37 Bevezetés A
RészletesebbenObjektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 2. rész Öröklés és többalakúság Nemvirtuális metódusok, elrejtés Virtuális metódusok, elrejtés Típuskényszerítés, az is és as operátorok Absztrakt osztályok, absztrakt
RészletesebbenSzármaztatási mechanizmus a C++ nyelvben
Származtatási mechanizmus a C++ nyelvben Miskolci Egyetem Általános Informatikai Tanszék CPP2 / 1 Az öröklődés s fogalma 1. Egy osztály deklarálható valamely más osztály(ok) leszármazottjaként. Az deklaráció
RészletesebbenMiután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni:
Excel objektumok Az excelben az osztályokat úgynevezett class modulokként hozzuk létre. Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni: View-ba
RészletesebbenBevezetés a C++ programozási nyelvbe
Bevezetés a C++ programozási nyelvbe Miskolci Egyetem Általános Informatikai Tanszék CPP0 / 1 Története A C++ programozási nyelv a C programozási nyelv objektum orientált kiterjesztése. Az ANSI-C nyelvet
RészletesebbenProgramozás módszertan
Programozás módszertan p. Programozás módszertan Operátorok túlterhelése a C++ nyelvben Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA TANSZÉK Bevezetés Programozás
RészletesebbenOOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN
OOP: Java 11.Gy: Enumok, beágyazott osztályok 13/1 B ITv: MAN 2019.04.24 ArrayList Rugalmas tömb A tömbök korlátai Fix méret, nem lehet menet közben megnövelni Ha túl nagyra választjuk, fölösleges helyfoglalás
RészletesebbenBánsághi Anna 2014 Bánsághi Anna 1 of 33
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 7. ELŐADÁS - ABSZTRAKT ADATTÍPUS 2014 Bánsághi Anna 1 of 33 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív
RészletesebbenBevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok
Bevezetés a programozásba II 5. Előadás: Másoló konstruktor, túlterhelés, operátorok Emlékeztető struct Vektor { int meret, *mut; Vektor(int meret); int szamlal(int mit); }; int Vektor::szamlal(int mit)
RészletesebbenVirtuális függvények (late binding)
Virtuális függvények (late binding) Miskolci Egyetem Általános Informatikai Tanszék Virtuális függvények CPP5 / 1 Azonos nevű függvények megkülönböztetése paraméterszignatúra (függvény overloading) - egy
Részletesebben3. Osztályok II. Programozás II
3. Osztályok II. Programozás II Bevezető feladat Írj egy Nevsor osztályt, amely legfeljebb adott mennyiségű nevet képes eltárolni. A maximálisan tárolható nevek számát a konstruktorban adjuk meg. Az osztályt
RészletesebbenProgramozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 3. Széchenyi István Egyetem, Gy r
Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. március 3. Függvények Mi az a függvény (function)? Programkód egy konkrét, azonosítható, paraméterezhet, újrahasznosítható blokkja Miért
RészletesebbenProgramozási nyelvek Java
Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 8. előadás Öröklődés - megnyitunk egy osztályt egy másik előtt zárt egységeket szeretünk készíteni (láthatósági kérdés:
RészletesebbenJava és web programozás
Budapesti Műszaki Egyetem 2015. 02. 11. 2. Előadás Mese Néhány programozási módszer: Idők kezdetén való programozás Struktúrált Moduláris Funkcionális Objektum-orientált... Mese Néhány programozási módszer:
RészletesebbenBevezetés a programozásba Előadás: Tagfüggvények, osztály, objektum
Bevezetés a programozásba 2 1. Előadás: Tagfüggvények, osztály, objektum Ismétlés int main() { string s; s; s= bla ; cout
RészletesebbenFüggvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)
Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Függvények C program egymás mellé rendelt függvényekből áll. A függvény (alprogram) jó absztrakciós eszköz a programok
RészletesebbenProgramozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)
Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.05. -1- Függvények C program egymás mellé rendelt függvényekből
RészletesebbenHelyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?
A "java Villa -v" parancs jelentése: A java interpreter elindítja a Villa osztály statikus main metódusát, és átadja neki paraméterként a "-v" stringet. A java interpreter elindítja először a Villa osztály
RészletesebbenProgramozás II. 4. Dr. Iványi Péter
Programozás II. 4. Dr. Iványi Péter 1 inline függvények Bizonyos függvények annyira rövidek, hogy nem biztos hogy a fordító függvényhívást fordít, hanem inkább az adott sorba beilleszti a kódot. #include
RészletesebbenProgramozási nyelvek Java
statikus programszerkezet Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 2. előadás csomag könyvtárak könyvtárak forrásfájlok bájtkódok (.java) (.class) primitív osztály
RészletesebbenProgramozás II. labor
Programozás II. labor 1. rész Programozási tételek Öröklődés Interfészek Eseménykezelés Kivételkezelés Visszalépéses keresés Programozás II. Programozási tételek OOP alapok ismétlése Öröklődés Öröklődés
RészletesebbenProgramozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 11. Széchenyi István Egyetem, Gy r
Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2018. október 11. Függvények Mi az a függvény (function)? Programkód egy konkrét, azonosítható, paraméterezhet, újrahasznosítható blokkja
RészletesebbenProgramozási alapismeretek 4.
Programozási alapismeretek 4. Obejktum-Orientált Programozás Kis Balázs Bevezetés I. Az OO programozási szemlélet, egy merőben más szemlélet, az összes előző szemlélettel (strukturális, moduláris, stb.)
RészletesebbenPénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Tömbök (3. rész) Konstansok Kivételkezelés Tömbök 3. Többdimenziós tömbök Többdimenziós tömbök int a; Többdimenziós tömbök int a[5]; Többdimenziós tömbök
RészletesebbenObjektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 1. rész Osztályok és objektumok Mezık és metódusok Konstruktor és destruktor Láthatósági szintek Névterek és hatókörök Osztály szintő tagok Beágyazott osztályok
RészletesebbenObjektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 2. rész Öröklés és többalakúság Nemvirtuális metódusok, elrejtés Virtuális metódusok, elrejtés Típuskényszerítés, az is és as operátorok Absztrakt osztályok, absztrakt
RészletesebbenOsztálytervezés és implementációs ajánlások
Osztálytervezés és implementációs ajánlások Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 04. 24. Osztálytervezés és implementációs kérdések OTERV / 1 Osztály tervezés Egy nyelv
RészletesebbenOsztályok. construct () destruct() $b=new Book(); $b=null; unset ($b); book.php: <?php class Book { private $isbn; public $title;
PHP5 objektumok 1 Osztályok class, new book.php: construct () destruct() $b=new Book(); törlés: $b=null; vagy unset ($b); -elnevezési konvenciók private $isbn; public $title; function
RészletesebbenA C programozási nyelv II. Utasítások. A függvény.
A C programozási nyelv II. Utasítások. A függvény. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv II (Utasítások, fuggvények) CBEV2 / 1 Kifejezés utasítás Kifejezés utasítás, blokk
RészletesebbenObjektum orientált kiterjesztés A+ programozási nyelvhez
Szegedi Tudományegyetem Informatikai Tanszékcsoport Objektum orientált kiterjesztés A+ programozási nyelvhez Diplomamunka terve Készítette: Bátori Csaba programtervező matematikus hallgató Témavezető:
RészletesebbenProgramozási nyelvek Java
Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 13. előadás Throwable Error Exception RuntimeException IOException Saját (általában) Nem ellenörzött kivételek (Unchecked
RészletesebbenProgramozási nyelvek Java
Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 9. előadás Interface - típust vezet be, de osztálypéldány nem készíthető belőle (statikus típust ad) - több osztály is
RészletesebbenIII. OOP (objektumok, osztályok)
III. OOP (objektumok, osztályok) 1. Természetes emberi gondolkozás Az Objektumorientált paradigma alapelvei nagyon hasonlítanak az emberi gondolkozásra. Érdemes ezért elsőként az emberi gondolkozás elveit
RészletesebbenObjektumelvű programozás
Objektum, osztály Objektumelvű programozás Az elemzés együttműködő objektumok rendszereként fogalmazza meg a feladatot. Objektum-központú elemzés A tervezés a feladat tárgyköreit egy-egy objektum felelősségévé
RészletesebbenProgramozás BMEKOKAA146. Dr. Bécsi Tamás 7. előadás
Programozás BMEKOKAA146 Dr. Bécsi Tamás 7. előadás AZ OOP alapelvei Egységbezárás(Encapsulation) Az adatokat es a hozzájuk tartozó eljárásokat egyetlen egységben (osztályban) kezeljük. Az osztály adatmezői
RészletesebbenOOP. Alapelvek Elek Tibor
OOP Alapelvek Elek Tibor OOP szemlélet Az OOP szemlélete szerint: a valóságot objektumok halmazaként tekintjük. Ezen objektumok egymással kapcsolatban vannak és együttműködnek. Program készítés: Absztrakciós
RészletesebbenOsztály és objektum fogalma
Osztály és objektum fogalma A C++ programozási nyelv I. CPP1/ 1 Az osztály (class) class: adatok és módszerek (method) (függvények) együttese, amely absztrakt adattípusként működik. objektum: egy osztály
RészletesebbenKivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat
Kivételkezelés, beágyazott osztályok Nyolcadik gyakorlat Kivételkezelés Nem minden hibát lehet fordítási időben megtalálni Korábban (pl. C-ben) a hibakezelést úgy oldották meg, hogy a függvény hibakódot
RészletesebbenFelhasználó által definiált adattípus
Felhasználó által definiált adattípus C++ Izsó Tamás 2017. február 24. Izsó Tamás Felhasználó által definiált adattípus/ 1 Irodalom Izsó Tamás Felhasználó által definiált adattípus/ 2 Programtervezési
RészletesebbenProgramozási nyelvek II.: JAVA, 3. gyakorlat
Programozási nyelvek II.: JAVA, 3. gyakorlat 2017. szeptember 25-29. 2017. szeptember 25-29. Programozási nyelvek II.: JAVA, 3. gyakorlat 1 / 50 A 3. gyakorlat tematikája Osztályok deníciója Láthatósági
RészletesebbenProgramozás alapjai II. (4. ea) C++
Programozás alapjai II. (4. ea) C++ konstruktor és értékadás, dinamikus szerkezetek Szeberényi Imre BME IIT M Ű E G Y T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2011.03.01. -1-
RészletesebbenProgramozás II. 2. Dr. Iványi Péter
Programozás II. 2. Dr. Iványi Péter 1 C++ Bjarne Stroustrup, Bell Laboratórium Első implementáció, 1983 Kezdetben csak precompiler volt C++ konstrukciót C-re fordította A kiterjesztés alapján ismerte fel:.cpp.cc.c
RészletesebbenOsztálytervezés és implementációs ajánlások
Osztálytervezés és implementációs ajánlások Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 04. 24. Osztálytervezés és implementációs kérdések OTERV / 1 Osztály tervezés Egy nyelv
RészletesebbenSzoftvertechnológia alapjai Java előadások
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz e-mail: fandrew@mit.bme.hu tárgy honlap: http://home.mit.bme.hu/~fandrew/szofttech_hu.html A mai előadás tartalma: Miért pont Java?
RészletesebbenOOP: Java 4.Gy: Java osztályok
OOP: Java 4.Gy: Java osztályok. 36/1 B ITv: MAN 2019.03.02 Feladat Készítsen el egy Employee osztályt és egy Employee osztályt használó osztályt (EmpProgram). Az Employee osztálynak: van name és salary
RészletesebbenMár megismert fogalmak áttekintése
Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése Eseménykezelési módszerek 2 Már megismert fogalmak
RészletesebbenAlprogramok, paraméterátadás
ELTE Informatikai Kar, Programozási Nyelvek és Fordítóprogramok Tanszék October 24, 2016 Programozási nyelvek Alprogramok Függvények, eljárások Metódusok Korutinok stb. Alprogramok Alprogram: olyan nyelvi
RészletesebbenProgramozás C++ -ban
Programozás C++ -ban 4. Bevezetés az osztályokba 4.1 Az adatokhoz való hozzáférés ellenőrzése Egy C programban a struktúrák minden része mindig elérhető. Ugyanakkor ez nem a legkedvezőbb helyzet. Több
RészletesebbenProgramozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 15. Széchenyi István Egyetem, Gy r
Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2018. október 15. Leghosszabb 3D vektorok kikeresése 1 #i n c l u d e 2 #i n c l u d e 3 #d e f i n e MAX 1000
RészletesebbenÖröklés és Polimorfizmus
Öröklés és Polimorfizmus Egy létező osztályból egy (vagy több) újat készítünk A létező osztályt ősnek, az újakat utódnak nevezzük Az utódok öröklik az ős minden tagját Az utódok az öröklött tagokat újakkal
RészletesebbenBevezetés a Python programozási nyelvbe
Bevezetés a Python programozási nyelvbe 7. Gyakorlat osztályok, objektumok (utolsó módosítás 2018. aug. 28.) Szathmáry László Debreceni Egyetem Informatikai Kar 2018-2019, 1. félév OO programozás Pythonban
RészletesebbenProgramozás C és C++ -ban
Programozás C és C++ -ban 2. További különbségek a C és C++ között 2.1 Igaz és hamis A C++ programozási nyelv a C-hez hasonlóan definiál néhány alap adattípust: char int float double Ugyanakkor egy új
RészletesebbenProgramozás I. Első ZH segédlet
Programozás I. Első ZH segédlet Ezen az oldalon: kiírás az alapértelmezett (hiba) kimenetre, sztring konkatenáció, primitív típusok, osztály létrehozás, példányosítás, adattagok, metódusok Kiíratás alapértelmezett
RészletesebbenOOP: Java 8.Gy: Gyakorlás
OOP: Java 8.Gy: Gyakorlás 43/1 B ITv: MAN 2019.04.10 43/2 Egy régebbi beszámoló anyaga 1. Feladat: Készítsen egy Szemely nevű osztályt a szokásos konvenciók betartásával, amely tárolja egy ember nevét
RészletesebbenC#, OOP. Osztályok tervezése C#-ban
C#, OOP Osztályok tervezése C#-ban OOP Létrehozás (creating) Megszüntetés (destroying) Túlterhelés (overlading) Felsorolás típus (enumerated types) 2 Hajó osztály Sailboat class using System; class Sailboat
RészletesebbenInformatika terméktervezőknek
Informatika terméktervezőknek C# alapok Névterület (namespace) using Osztály (class) és Obejtumok Metódus (function, procedure, method) main() static void string[] arg Szintaxis // /* */ \n \t Névadások
Részletesebben