18
Visual Basic Visual Basic 2005/2008 2005/2008 OOP in praktijk OOP in praktijk André Obelink - MCSD, MVP André Obelink - MCSD, MVP Web: www.vbcentral.nl - www.obelink.com - www.ineta-europe.org Web: www.vbcentral.nl - www.obelink.com - www.ineta-europe.org E-mail: [email protected] E-mail: [email protected]

Visual Basic 2005/2008 OOP in praktijk

  • Upload
    kitra

  • View
    27

  • Download
    1

Embed Size (px)

DESCRIPTION

Visual Basic 2005/2008 OOP in praktijk. André Obelink - MCSD, MVP Web: www.vbcentral.nl - www.obelink.com - www.ineta-europe.org E-mail: andre @ obelink.com. About me. Technical Manager / Lead developer Auteur… - PowerPoint PPT Presentation

Citation preview

Page 1: Visual Basic 2005/2008 OOP in praktijk

Visual Basic Visual Basic 2005/20082005/2008

OOP in praktijkOOP in praktijkAndré Obelink - MCSD, MVPAndré Obelink - MCSD, MVP

Web: www.vbcentral.nl - www.obelink.com - www.ineta-europe.orgWeb: www.vbcentral.nl - www.obelink.com - www.ineta-europe.org E-mail: [email protected]: [email protected]

Page 2: Visual Basic 2005/2008 OOP in praktijk

About meAbout me Technical Manager / Lead developerTechnical Manager / Lead developer Auteur…Auteur…

Artikelen voor het VB Magazine, MSDN Magazine Europe, PC Artikelen voor het VB Magazine, MSDN Magazine Europe, PC Active, Active, Microsoft .NET Magazine en het SDN MagazineMicrosoft .NET Magazine en het SDN Magazine

Boek: Visual Basic 2005 – De basis (Pearson Education – 2006)Boek: Visual Basic 2005 – De basis (Pearson Education – 2006) Boek: Visual Basic Kookboek (Pearson Education – januari 2008)Boek: Visual Basic Kookboek (Pearson Education – januari 2008)

De andere persoon achter VBcentral.nl… ;-)De andere persoon achter VBcentral.nl… ;-) VP Speaker Bureau – INETA EuropeVP Speaker Bureau – INETA Europe Microsoft MVP voor Visual Basic sinds 2006Microsoft MVP voor Visual Basic sinds 2006

Page 3: Visual Basic 2005/2008 OOP in praktijk

Klassen & objectenKlassen & objecten OOP draait om klassen en objectenOOP draait om klassen en objecten

Een Een klasseklasse is de blauwdruk van een is de blauwdruk van een object object stansstans

Een Een objectobject is de instantie van de klasse is de instantie van de klasse koekjekoekje

Public Class Koekje

Private mstrNaam As String = ""

Public Property Naam() As String Get Return mstrNaam End Get Set(ByVal value As String) mstrNaam = value End Set End Property

End Class

KlasseKlasseDim objKletsKop As New KoekjeobjKletsKop.Naam = "Kletskop“

Dim objSpeculaas As New KoekjeobjSpeculaas.Naam = "Speculaas"

Dim objSprits As New KoekjeobjSprits.Naam = "Sprits"

Dim objChocoSprits As New KoekjeobjChocoSprits.Naam = "ChocoSprits"

ObjectenObjecten

Page 4: Visual Basic 2005/2008 OOP in praktijk

Vier pijlers van OOPVier pijlers van OOP Theoretische benadering… niet Theoretische benadering… niet

onbelangrijk..onbelangrijk.. Abstraction - Abstraction - AbstractieAbstractie Encapsulation - Encapsulation - InsluitingInsluiting Inheritance - Inheritance - OverervingOvererving Polymorphism - Polymorphism -

Polymorfisme/veelvormigheidPolymorfisme/veelvormigheid

… … manier van denkenmanier van denken

Page 5: Visual Basic 2005/2008 OOP in praktijk

Waarom wil je OOP?Waarom wil je OOP? Je wordt gedwongen een complex geheel op Je wordt gedwongen een complex geheel op

te delen in ‘op te lossen’ kleine te delen in ‘op te lossen’ kleine deelproblemendeelproblemen

Je kunt je focussen op microproblemen, Je kunt je focussen op microproblemen, verklein kans op problemen op meso- of verklein kans op problemen op meso- of macroniveaumacroniveau

Je schrijft in het algemeen stabielere en Je schrijft in het algemeen stabielere en beter onderhoudbare codebeter onderhoudbare code

Je kunt code makkelijker hergebruikenJe kunt code makkelijker hergebruiken Jij vindt Lego toch ook leuk?Jij vindt Lego toch ook leuk?

Page 6: Visual Basic 2005/2008 OOP in praktijk

DemoDemodansende ballen…dansende ballen…

Page 7: Visual Basic 2005/2008 OOP in praktijk

Klasse BalKlasse Bal Kenmerken / eigenschappenKenmerken / eigenschappen

KleurKleur PositiePositie RichtingRichting SnelheidSnelheid GrootteGrootte

Acties /methodenActies /methoden VerplaatsenVerplaatsen TekenTeken

Page 8: Visual Basic 2005/2008 OOP in praktijk

Abstractie & InsluitingAbstractie & Insluiting AbstractieAbstractie

Applicatie opdelen in logische blokkenApplicatie opdelen in logische blokken Klassen, eigenschappen en methoden Klassen, eigenschappen en methoden

bepalenbepalen

InsluitingInsluiting Alleen benodigde Public Alleen benodigde Public

methoden/eigenschappenmethoden/eigenschappen Verberg de feitelijke implementatieVerberg de feitelijke implementatie Black-boxBlack-box

Page 9: Visual Basic 2005/2008 OOP in praktijk

CodeCodedansende ballen…dansende ballen…

Page 10: Visual Basic 2005/2008 OOP in praktijk

Overerving & Overerving & PolymorfismePolymorfisme

Definieer een basisklasse Definieer een basisklasse PersoonPersoon Maak afgeleide klassen Maak afgeleide klassen LeerlingLeerling, ,

Leerkracht Leerkracht Voeg eventueel eigen eigenschappen Voeg eventueel eigen eigenschappen

toetoe Overschrijf bestaande methoden en Overschrijf bestaande methoden en

eigenschappen, waardoor een eigenschappen, waardoor een LeerlingLeerling anders ‘denkt’ dan een anders ‘denkt’ dan een LeerkrachtLeerkracht (polymorfisme)(polymorfisme)

Page 11: Visual Basic 2005/2008 OOP in praktijk

Demo & CodeDemo & Codeklassen klassen PersoonPersoon, , LeerlingLeerling en en

LeerkrachtLeerkracht

Page 12: Visual Basic 2005/2008 OOP in praktijk

Wat hebben we nu Wat hebben we nu gezien?gezien?

Overerving of inheritance met behulp Overerving of inheritance met behulp van basis- en afgeleide klassenvan basis- en afgeleide klassen

Dwing bepaalde zaken af met behulp Dwing bepaalde zaken af met behulp van:van: Verschillende / overloaded constructorsVerschillende / overloaded constructors Sleutelwoorden als Sleutelwoorden als MustInheritMustInherit, ,

MustOverrideMustOverride, , OverridableOverridable, , OverridesOverrides, …, … Polymorfisme door verschillende Polymorfisme door verschillende

implementaties van de methode ‘Spreek’implementaties van de methode ‘Spreek’

Page 13: Visual Basic 2005/2008 OOP in praktijk

Demo & CodeDemo & CodeKlasse Klasse LandenLanden: Overrides : Overrides

ToString()ToString()

Page 14: Visual Basic 2005/2008 OOP in praktijk

Demo & CodeDemo & Codeerf over erf over TreeNodeTreeNode

Page 15: Visual Basic 2005/2008 OOP in praktijk

Demo & CodeDemo & Codeklasse klasse MensMens: Objecten : Objecten

kopiëren …kopiëren …

Page 16: Visual Basic 2005/2008 OOP in praktijk

Implementeer interfacesImplementeer interfaces Een interface is een beschrijving van de Een interface is een beschrijving van de

publieke eigenschappen en methoden, publieke eigenschappen en methoden, zonder daadwerkelijke implentatiecodezonder daadwerkelijke implentatiecode

Een klasse kan een of meerdere Een klasse kan een of meerdere interfaces implementeren met behulp interfaces implementeren met behulp van het van het sleutelwoord sleutelwoord ImplementsImplements

IClonableIClonable, of , of IPersoonIPersoon, , IDokumentIDokument, …, … ……. IComparable(Of T). IComparable(Of T) of of IComparerIComparer…..…..

Page 17: Visual Basic 2005/2008 OOP in praktijk

Demo & CodeDemo & Codeklasse klasse StudentStudent: Objecten : Objecten

sorteren…sorteren…

Page 18: Visual Basic 2005/2008 OOP in praktijk

Vragen?Vragen? [email protected]@obelink.com www.obelink.comwww.obelink.com