De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Visual Basic 2005/2008 OOP in praktijk André Obelink - MCSD, MVP Web: www.vbcentral.nl - www.obelink.com - www.ineta-europe.org Web: www.vbcentral.nl -

Verwante presentaties


Presentatie over: "Visual Basic 2005/2008 OOP in praktijk André Obelink - MCSD, MVP Web: www.vbcentral.nl - www.obelink.com - www.ineta-europe.org Web: www.vbcentral.nl -"— Transcript van de presentatie:

1 Visual Basic 2005/2008 OOP in praktijk 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: andre@obelink.com E-mail: andre@obelink.com

2 About me Technical Manager / Lead developer Technical Manager / Lead developer Auteur… Auteur… Artikelen voor het VB Magazine, MSDN Magazine Europe, PC Active, Microsoft.NET Magazine en het SDN Magazine Artikelen voor het VB Magazine, MSDN Magazine Europe, PC Active, Microsoft.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 Europe VP Speaker Bureau – INETA Europe Microsoft MVP voor Visual Basic sinds 2006 Microsoft MVP voor Visual Basic sinds 2006

3 Klassen & objecten OOP draait om klassen en objecten OOP draait om klassen en objecten Een klasse is de blauwdruk van een object  stans Een klasse is de blauwdruk van een object  stans Een object is de instantie van de klasse  koekje Een object is de instantie van de klasse  koekje 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 ClassKlasse Dim objKletsKop As New Koekje objKletsKop.Naam = "Kletskop“ Dim objSpeculaas As New Koekje objSpeculaas.Naam = "Speculaas" Dim objSprits As New Koekje objSprits.Naam = "Sprits" Dim objChocoSprits As New Koekje objChocoSprits.Naam = "ChocoSprits"Objecten

4 Vier pijlers van OOP Theoretische benadering… niet onbelangrijk.. Theoretische benadering… niet onbelangrijk.. Abstraction - Abstractie Abstraction - Abstractie Encapsulation - Insluiting Encapsulation - Insluiting Inheritance - Overerving Inheritance - Overerving Polymorphism - Polymorfisme/veelvormigheid Polymorphism - Polymorfisme/veelvormigheid … manier van denken … manier van denken

5 Waarom wil je OOP? Je wordt gedwongen een complex geheel op te delen in ‘op te lossen’ kleine deelproblemen Je wordt gedwongen een complex geheel op te delen in ‘op te lossen’ kleine deelproblemen Je kunt je focussen op microproblemen, verklein kans op problemen op meso- of macroniveau Je kunt je focussen op microproblemen, verklein kans op problemen op meso- of macroniveau Je schrijft in het algemeen stabielere en beter onderhoudbare code Je schrijft in het algemeen stabielere en beter onderhoudbare code Je kunt code makkelijker hergebruiken Je kunt code makkelijker hergebruiken Jij vindt Lego toch ook leuk? Jij vindt Lego toch ook leuk?

6 Demo dansende ballen…

7 Klasse Bal Kenmerken / eigenschappen Kenmerken / eigenschappen Kleur Kleur Positie Positie Richting Richting Snelheid Snelheid Grootte Grootte Acties /methoden Acties /methoden Verplaatsen Verplaatsen Teken Teken

8 Abstractie & Insluiting Abstractie Abstractie Applicatie opdelen in logische blokken Applicatie opdelen in logische blokken Klassen, eigenschappen en methoden bepalen Klassen, eigenschappen en methoden bepalen Insluiting Insluiting Alleen benodigde Public methoden/eigenschappen Alleen benodigde Public methoden/eigenschappen Verberg de feitelijke implementatie Verberg de feitelijke implementatie Black-box Black-box

9 Code dansende ballen…

10 Overerving & Polymorfisme Definieer een basisklasse  Persoon Definieer een basisklasse  Persoon Maak afgeleide klassen  Leerling, Leerkracht Maak afgeleide klassen  Leerling, Leerkracht Voeg eventueel eigen eigenschappen toe Voeg eventueel eigen eigenschappen toe Overschrijf bestaande methoden en eigenschappen, waardoor een Leerling anders ‘denkt’ dan een Leerkracht (polymorfisme) Overschrijf bestaande methoden en eigenschappen, waardoor een Leerling anders ‘denkt’ dan een Leerkracht (polymorfisme)

11 Demo & Code klassen Persoon, Leerling en Leerkracht

12 Wat hebben we nu gezien? Overerving of inheritance met behulp van basis- en afgeleide klassen Overerving of inheritance met behulp van basis- en afgeleide klassen Dwing bepaalde zaken af met behulp van: Dwing bepaalde zaken af met behulp van: Verschillende / overloaded constructors Verschillende / overloaded constructors Sleutelwoorden als MustInherit, MustOverride, Overridable, Overrides, … Sleutelwoorden als MustInherit, MustOverride, Overridable, Overrides, … Polymorfisme door verschillende implementaties van de methode ‘Spreek’ Polymorfisme door verschillende implementaties van de methode ‘Spreek’

13 Demo & Code Klasse Landen: Overrides ToString()

14 Demo & Code erf over TreeNode

15 Demo & Code klasse Mens: Objecten kopiëren …

16 Implementeer interfaces Een interface is een beschrijving van de publieke eigenschappen en methoden, zonder daadwerkelijke implentatiecode Een interface is een beschrijving van de publieke eigenschappen en methoden, zonder daadwerkelijke implentatiecode Een klasse kan een of meerdere interfaces implementeren met behulp van het sleutelwoord Implements Een klasse kan een of meerdere interfaces implementeren met behulp van het sleutelwoord Implements IClonable, of IPersoon, IDokument, … IClonable, of IPersoon, IDokument, … …. IComparable(Of T) of IComparer….. …. IComparable(Of T) of IComparer…..

17 Demo & Code klasse Student: Objecten sorteren…

18 Vragen?  andre@obelink.com www.obelink.com


Download ppt "Visual Basic 2005/2008 OOP in praktijk André Obelink - MCSD, MVP Web: www.vbcentral.nl - www.obelink.com - www.ineta-europe.org Web: www.vbcentral.nl -"

Verwante presentaties


Ads door Google