objektum orientált programozás visual basicben

28
Objektum Orientált Programozás Visual Basicben

Upload: maralah-wilson

Post on 30-Dec-2015

42 views

Category:

Documents


1 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Objektum Orientált Programozás  Visual Basicben

Objektum Orientált

Programozás

Visual Basicben

Page 2: 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

Page 3: Objektum Orientált Programozás  Visual Basicben

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

Page 4: Objektum Orientált Programozás  Visual Basicben

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ó”

Page 5: Objektum Orientált Programozás  Visual Basicben

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

Page 6: Objektum Orientált Programozás  Visual Basicben

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

Page 7: Objektum Orientált Programozás  Visual Basicben

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)

Page 8: Objektum Orientált Programozás  Visual Basicben

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

Page 9: Objektum Orientált Programozás  Visual Basicben

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

Page 10: Objektum Orientált Programozás  Visual Basicben

10

Új osztály létrehozása

• Project, Add Class Module

Page 11: Objektum Orientált Programozás  Visual Basicben

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

Page 12: Objektum Orientált Programozás  Visual Basicben

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!!!!

Page 13: Objektum Orientált Programozás  Visual Basicben

13

Property Get

Property Get PNév ([paraméterek] [As Típus] )UtasításokPNév=TulajdonságNév

End Property

Például:

Property Get LastName () as StringLastName=mstrLastName

End Property

A Class modulban generálva az általános deklarációs részben

Page 14: Objektum Orientált Programozás  Visual Basicben

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=strLastNameEnd Property

Page 15: Objektum Orientált Programozás  Visual Basicben

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)

Page 16: Objektum Orientált Programozás  Visual Basicben

16

Példányosítás:

Dim|Public|Private objnév As New osztnévDim mEmployee As New CEmployeePrivate mInventory As New CInventory

VagyDim mEmployee As CEmployeeSet mEmployee=New CEmployee

Private mInventory As CInventory

Set mInventory=New CInventory

Page 17: Objektum Orientált Programozás  Visual Basicben

17

Erőforrások felszabadítása

• Form_Unload-ban– Set mEmployee = Nothing

Page 18: Objektum Orientált Programozás  Visual Basicben

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)

Page 19: Objektum Orientált Programozás  Visual Basicben

19

Esemény generálás

• Objektum által• Lehetnek

– Esemény létrehozó

– Eseményt lekezelő

(Click, MouseUp, stb)

Page 20: Objektum Orientált Programozás  Visual Basicben

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

Page 21: Objektum Orientált Programozás  Visual Basicben

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

Page 22: Objektum Orientált Programozás  Visual Basicben

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

Page 23: Objektum Orientált Programozás  Visual Basicben

23

How to respond to an event

• Declare the object using WithEventsPrivate WithEvents mMyTask as CMyTask

• Instantiate the object using SetSet mMyTask=New CMyTask

• Write the code for the event procedure

• When finished release the object variable using Nothing keyword

Page 24: Objektum Orientált Programozás  Visual Basicben

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

Page 25: Objektum Orientált Programozás  Visual Basicben

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

Page 26: Objektum Orientált Programozás  Visual Basicben

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

Page 27: Objektum Orientált Programozás  Visual Basicben

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

Page 28: Objektum Orientált Programozás  Visual Basicben

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