1 / 28

Objektum Orientált Programozás Visual Basicben

Objektum Orientált Programozás Visual Basicben. Object – egy dolog, tárgy, „valami” C om m an d button, text box, stb. J ellemzők Propert i es – tulajdonságok, adatok, változók Caption, text, listindex Viselkedés Method – cselekvés, akció, eljárások, függvények

Download Presentation

Objektum Orientált Programozás Visual Basicben

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Objektum Orientált Programozás Visual Basicben

  2. 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érevagy más eseményre (automatikusan kiváltódó metódusok) Click, got focus, activate Objektumok

  3. Ú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 Osztály modul

  4. 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ó” Osztályok és példányok

  5. 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 Objektum Orientált Terminológia

  6. 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 Objektum Orientált Terminológia

  7. 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) Objektum Orientált Terminológia

  8. 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 Objektum Orientált Terminológia

  9. 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 Objektum Orientált Terminológia

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

  11. 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) Privatetulajdonságnévastípus Az osztály tulajdonságai

  12. 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!!!! Értékek hozzárendelése a tulajdonságokhoz

  13. 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 Property Get

  14. 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 Property Let

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

  16. Dim|Public|Private objnévAs Newosztné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 Példányosítás:

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

  18. 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) Inicializáló és termináló események

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

  20. 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 Reagálás az eseményekre

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

  22. 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 TaskCompleteEnd If How to generate an event

  23. 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 How to respond to an event

  24. 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 Collections

  25. 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 Key for Collection Objects

  26. 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 Creating a Collection

  27. 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 Creating a collection cont.

  28. 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 Creating a collection cont.

More Related