Objektum Orientált Programozás Visual Basicben. 2 Objektumok Object – egy dolog, tárgy, „valami” –Command button, text box, stb. Jellemzők –Properties.

Slides:



Advertisements
Hasonló előadás
Osztály leszármaztatás
Advertisements

2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
Mintacím szerkesztése •Mintaszöveg szerkesztése •Második szint •Harmadik szint •Negyedik szint •Ötödik szint D modelling in the terrestrial.
Programozás III OOP ALAPOK.
Felhasználói felületek és üzleti logika Bollobás Dávid ASP.NET
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Grafika. 2 Mértékek és koordináta rendszer Használjuk a RGB és QBColor függvényeket a színekhez Grafika létrehozása Load/change picture futási időben.
Objektum Orientált Programozás
Adatbányászati technikák (VISZM185)
Öröklődés 2..
JavaScript.
Szabó Tamás Károly G6HT12 A Ruby programozási nyelv.
Csala Péter ANDN #4. 2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 7. Gyakorlat Operator overloading.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 5. Gyakorlat Öröklődés, virtuális függvények,
Programozás II. 3. Gyakorlat C++ alapok.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
Tömbök ismétlés Osztályok Java-ban Garbage collection
Az objektum-orientált tervezési alapelvek kritikai vizsgálata
Ellenőrző kérdések a)Auto-indexing enabled b)Auto-indexing disabled c)Nem eldönthető 1.
A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 4. rész – Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
Java programozási nyelv 3. rész – Osztályok I.
A C++ programozási nyelvSoós Sándor 1/15 C++ programozási nyelv Gyakorlat hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
VFP programozása report készítése menü készítése dinamikus elemek
SQL92 lehetőségek KL A tábla B tábla C view adatok VIEW működése utasítás: SELECT.. FROM A,B … SELECT.. FROM C Az adatok a hivatkozáskor állítódnak elő.
JSP és JavaBean JavaServer Pages és Java Beans Fabók Zsolt Általános Informatikai Tanszék Miskolci Egyetem.
C# tagfüggvények.
Entity framework Krizsán Zoltán
Közös kinézet Mester oldal, témák, skin-ek, css Webalkalkalmazás fejlesztése ASP.NET-ben Krizsán Zoltán.
Krizsán Zoltán.  Ha az algoritmus sokáig dolgozik,  de el akarjuk kerülni a „fagyást”.  Kisebb a költsége, mint az új folyamatnak.  Programozás szempontjából.
6. előadás Parametrikus polimorfizmus. Generikus programozás. Az Ada sablonok.
5. előadás Parametrikus polimorfizmus. Generikus programozás
5. előadás Parametrikus polimorfizmus. Generikus programozás. Az Ada sablonok.
Kliensoldali Programozás
Delphi programozás 8. ELŐADÁS ADO ActiveX Data Objects.
A JAVA TECHNOLÓGIA LÉNYEGE Többlépcsős fordítás A JAVA TECHNOLÓGIA LÉNYEGE Platformfüggetlenség.
VFP Form programozás Form szerkesztő elemei vezérlő elemek
VI. Konténerek 18. Tömbök 19. Rendezés, keresés, karbantartás
VI. Konténerek 18. Tömbök 19. Rendezés, keresés, karbantartás
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
A PHP 5 újdonságai Az OOP terén. Miről lesz szó? Osztályok kezelése – Új direktívák – Konstruktor – Destruktor Interfészek Kivételkezelés.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
Készült az ERFP – DD2002 – HU – B – 01 szerzősésszámú projekt támogatásával Chapter 3 / 1 C h a p t e r 3 Stability Functions.
Java programozási nyelv Metódusok
XML fejlesztések TSQL fejlesztések Tábla paraméter SQLCLR fejlesztések 8k limit feloldása Több paraméteres UDA-ek Ordered UDF-ek Entity Framework ADO.NET.
Generics Krizsán Zoltán. Bemutató A.NET 2.0 verziótól. A.NET 2.0 verziótól. Típusparaméter Típusparaméter Más nyelvben ez a template (sablon). Más nyelvben.
1 Objektum orientált programozás Öröklődés: többszörös öröklődés, konstruktorok, destruktorok, overloading Nagy Szilvia.
Objektumvezérelt rendszerek tervezése
Programozás III OOP ALAPOK.
Programozás III OOP ÖRÖKLŐDÉS.
A Visual Basic nyelvi elemei
Algoritmizálás, adatmodellezés
1 Objektum orientált programozás Az objektumok és az osztályok – példányosodás Nagy Szilvia.
Rendezőalgoritmusok. Feladatok I. 1.Hozzunk létre új StandardEXE VB projektet. Töröljük Form1-t 2.Add/Module/New, majd Properties/átnevezzük: „MainModule”
5. előadás Parametrikus polimorfizmus. Generikus programozás. Az Ada sablonok.
Szebb és használhatóbb programok Vezérlőelemek dinamikus felhelyezése.
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Windows Forms alkalmazás készítése Czigléczky Gábor 2009.
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Osztályok, objektumok definiálása és alkalmazása. Saját.
Maven és Ant Build eszközök bemutatása
Test Automation Kurzus Intro
Hernyák Zoltán Programozási Nyelvek II.
YUI február YUI szeptember YUI3
Web programozás és haladó fejlesztési technikák – C#
Függvénysablonok használata
Előadás másolata:

Objektum Orientált Programozás Visual Basicben

2 Objektumok Object – egy dolog, tárgy, „valami” –Command button, text box, stb. Jellemzők –Properties – tulajdonságok, adatok, változók Caption, text, listindex Viselkedés –Method – cselekvés, akció, eljárások, függvények Clear, movenext, additem –Events – az objektum válaszai a felhasználó cselekvésére vagy más eseményre (automatikusan kiváltódó metódusok) Click, got focus, activate

3 Osztály modul Új objektum típusokat, azaz osztályokat az osztály modulban készíthetünk Project, Add Class Module – "C" prefixum használatos Az osztály modulban fogjuk definiálni a –Properties –Methods –Events

4 Osztályok és példányok Az eszköztár elemei osztályokat reprezentálnak Valójában az osztályok egy példányát adjuk a programunkhoz, amikor a tool box-ból választunk –Pl. minden textbox a formon a textbox osztály egy példánya Használd az Object Browser (F2) hogy lásd az osztályokat és a hozzájuk tartozó tulajdonságokat (Properties), metódusokat (Methods) és eseményeket (Events) Vegyük észre, hogy az osztály azonos szerepet tölt be, mint a típus, az objektum pedig mint a változó –Text1 pl. szövegdoboz típusú „változó”

5 Objektum Orientált Terminológia Encapsulation (Egybezártság) –A tulajdonságok és a metódusok egységbe vannak zárva –Az objektummal csak azt tudjuk megtenni, amit az objektum tud (kérni lehet, manipulálni nem) –Az adatait nem láthatjuk közvetlenül

6 Objektum Orientált Terminológia Polymorphism (Többalakúság) –Különböző osztályok ugyanolyan névvel tartalmazhatnak komponenseket, de ezek különbözhetnek egymástól –A programozók az objektum vagy a végrehajtás pontos ismerete nélkül tudnak kérni cselekvéseket az objektumoktól –Pl. Debug.Print, Printer.Print

7 Objektum Orientált Terminológia Inheritance (Öröklődés) –Létező osztályokból származtathatóak új osztályok –VB6 ezt nem tudja…. Tehát nem „igazi” OOP (Object Oriented Programming) –A VB.Net már igen (2001)

8 Objektum Orientált Terminológia Reusability (Újrafelhasználhatóság) –Az öröklődés hátsószándéka –VB nem teljesen engedi, de: Delegáció ÉS Superclasses-olyan osztályok, melyek osztott kódjait elérhetjük

9 Objektum Orientált Terminológia Jellemzők –Tulajdonságokként jelenik meg –A tulajdonságokat változókkal adjuk meg az osztálymodulban Viselkedés –Metódusokként jelenik meg –A metódusokat eljárásokkal és függvényekkel adjuk meg az osztálymodulban

10 Új osztály létrehozása Project, Add Class Module

11 Az osztály tulajdonságai A Class Module-n belül a General Declarations-ban adjuk meg Ne használjuk a Public módosítót, sértjük vele az encapsulation elvet –(minden objektum felelőséggel kell hogy tartozzon a saját adatai tekintetében) Private tulajdonságnév as típus

12 Értékek hozzárendelése a tulajdonságokhoz Speciális eljárásokkal történik (Tools, Add Procedure,Property) –Értékek átadása a class module-nak –Értékek átvétele a class module-ból Property Let procedure –Tulajdonságok beállítására Property Get procedure –Tulajdonságok átvételére –Muszáj visszaadni egy értéket (függvény) –Külső tantárgyi koncentráció: A papagájnak muszáj zsivajogni!!!!

13 Property Get Property Get PNév ([paraméterek] [As Típus] ) Utasítások PNév=TulajdonságNév End Property Például: Property Get LastName () as String LastName=mstrLastName End Property A Class modulban generálva az általános deklarációs részben

14 Property Let Property Let PNév([paraméterek] érték [As Típus] ) Utasítások TulajdonságNév=érték End Property Example: Property Let LastName (strLastName as String) mstrLastName=strLastName End Property

15 Példányosítás: Dim objnév as New osztálynév (General Declarations) Dim objnév as osztálynév (General Declarations). Set objnév=New osztálynév (Pl. Form_Load)

16 Példányosítás: Dim|Public|Private objnév As New osztnév Dim mEmployee As New CEmployee Private mInventory As New CInventory Vagy Dim mEmployee As CEmployee Set mEmployee=New CEmployee Private mInventory As CInventory Set mInventory=New CInventory

17 Erőforrások felszabadítása Form_Unload-ban –Set mEmployee = Nothing

18 Inicializáló és termináló események Minden Class Module rendelkezik két előredefiniált eseménnyel: Class_Initialize –Amikor egy objektum létrehozódik Class_Terminate –Amikor egy objektum „Nothing”-gé válik –Kilép a láthatóságból (pl. lokális változóként volt jelent)

19 Esemény generálás Objektum által Lehetnek –Esemény létrehozó –Eseményt lekezelő (Click, MouseUp, stb)

20 Reagálás az eseményekre Az eseményekre való reagálás szerint az objektumok lehetnek –Termelő –Csökkentő Examples of events we are used to seeing as responding –cmdOK_Click –form_MouseUp

21 Event Examples User clicks a command button –Event Source(Provider)=the Command Button Form module's command button's click event executes –Event Sink(Consumer)=Form

22 How to generate an event Declare the event in the General Declarations section of the class module, pass arguments with an event if you wish Public Event TaskComplete( ) Raise the event in code in the same module the Event was delcared in If mblnJobFinished Then RaiseEvent TaskComplete End If

23 How to respond to an event Declare the object using WithEvents Private WithEvents mMyTask as CMyTask Instantiate the object using Set Set mMyTask=New CMyTask Write the code for the event procedure When finished release the object variable using Nothing keyword

24 Collections A Collection Class holds references for a series of objects created from the same class or from different classes Actually a collection holds references to the objects –You reference by Index Number or a Key –Similar to list box and the associated items in the list box

25 Key for Collection Objects Key must be a string Can be used to reference individual objects in the collection Declare the Key as String at the module level of the Class module for the object (not the collection) Add Property Get and Let procedures

26 Creating a Collection Create a new class module Name it as plural of the objects in the collection –CProducts is a Collection of CProduct objects Declare an object variable "As Collection" (in Gen Declarations) and VB automatically provides: –Add, Remove, and Item methods –Count property

27 Creating a collection cont. Code the Class_Initialize Event –Set equal to New Collection Code the Class_Terminate Event –Set equal to Nothing Code the private function that calculates the next Item number and/or assigns the Key

28 Creating a collection cont. Code the Add Wrapper Event to add items to the collection Code the Remove Wrapper Event to remove items to the collection Code Item Wrapper Event to access individual elements in the collection Write Property Get and Let for the Count property of the collection