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 -

Slides:



Advertisements
Verwante presentaties
KINN 2010 •OOP •O Object •O Georiënteerd •P Programmeren.
Advertisements

Zelf objecten maken in VBA Ynte Jan Kuindersma, BIRD Automation Nationale Officedag 2009 EDE, 14 Oktober 2009.
Programmeren in Java met BlueJ
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 1.
Gegevensstructuren: list boxen en lijsten
Van domeinklasse tot implementatie
Het ontwerpen van een klasse
Objecten Hoofdstuk 6 Hoofdstuk 6 Hoofdstuk 6 1.
Klassen en objecten.
Maurice de Beijer. Wie is Maurice de Beijer Microsoft MVP DevelopMentor trainer SDN Sectiehoofd UX Onafhankelijk software ontwikkelaar
Greenfoot Workshop Bobby - Snake.
‘Inleiding programmeren in Java’ Derde college Maandag 22 januari 2001 drs. F. de Vries.
1 Voorwaarden hergebruik Modulair ontwerp Low coupling High cohesion.
Frank Stalpers en Ad Baars
Inleidend probleem Data structuur (hiërarchie van classes)
Klassen schrijven Hoofdstuk 10. Visual Basic.NET voor studenten2 In dit hoofdstuk … Hoe schrijf je een klasse Constructormethodes Public methoden Variabelen.
Herhaling: For, While en Do
Overerving Hoofdstuk 11 Hoofdstuk 11.
Visual Basic .NET voor studenten
Visual Basic.
Consoletoepassing Variabelen Klassen
Algoritmiek Object-georiënteerd Programmeren
1 Datastructuren Introductie tot de programmeeropgaven in C++ Jan van Rijn
JAVA1 H 9. OBJECTGEORIENTEERD PROGRAMMEREN: OVERERVING 1. INLEIDING Wat is overerving (inheritance)? Overerving is een mechanisme waarbij software opnieuw.
P. 1 Vakgroep Informatietechnologie Structuur Deel II C++ Classes Namespaces Type casting Reference types Constructors en Destructors Memory Management.
Presenteert:.
OO Analyse in de praktijk OO Analyse in de praktijk V Enkele Design Patterns.
Debugging en Tracing met Visual Basic.NET André Obelink, MCSD Visual Basic Groep.
Visual Basic 2010 – What’s new André Obelink
Afdrukken met Visual Basic 2008
KINN 2010 OOP O Object O Georiënteerd P Programmeren.
Visual Basic.NET voor studenten De VB- ontwikkelomgeving Hoofdstuk 2.
Programmeerstijl Hoofdstuk 21. Visual Basic.NET voor studenten2 Inleiding Belang van een goede programmeerstijl:  Programma’s worden door meerdere mensen.
Arrays Hoofdstuk 14 Hoofdstuk 14.
Overerving: It’s a kind of magic…. Principes van OO: 1) Overerving 2) Encapsulatie 3) Polymorphisme = (deel van het) OO. paradigma.
Objectgeoriënteerd Ontwerp
TypeScript Orde in de chaos!. Over mij Patrick Schmidt (Microsoft Certified Trainer) Trainer bij 4DotNet Mede-oprichter en architect BesteProduct.nl.
Interfaces Hoofdstuk 23 Hoofdstuk 23.
Introductie tot GoF patterns in Java
Constructoren Genesis 1:1 Aarde a1 = new Aarde(“Adam”, “Eva”);
Hoofdstuk 6 – Objectgeoriënteerd Programmeren: Overerving
Encapsulatie: Every man is an island upon himself.
Bewerkingen met Strings
Polymorfie Hoofdstuk 24. Visual Basic.NET voor studenten2 Inleiding Polymorfie zorgt ervoor dat een gegeven object verschillende “vormen” kan aannemen.
Polymorphisme en Interfaces: inleiding
Java Objectgeoriënteerd Programmeren in Java met BlueJ
Java Objectgeoriënteerd Programmeren in Java met BlueJ Hoofdstuk 7 Polymorfie en overerving © 2014, Gertjan Laan, versie 2.
 C++ heeft een inheritance mechanisme  Manier om functionaliteit te ‘erfen’ van een parrent class ◦ Polymorphisme ◦ Zoals we het ook in C# kennen.
Eigen klassen maken A new way of thinking.. Wat? Zie voorbeeld. Zie voorbeeld.
OOP en.NET. Objecten Is geen ‘nieuw’ mysterieus woord Overal om ons heen zien we objecten: – TV – Computer – Auto – Wasmachine – ….
GEGEVENSSTRUCTUREN IN.NET. Inleiding  Enumerated type  Structure  Collecties  Typed collections  Untyped collections.
Java voor beginners Doel: Een spel maken in LWJGL Door: Jim van Leeuwen.
De definitie van een object. Een object is een verzameling van eigenschappen en bewerkingen. Veel voorkomende objecten zijn: D (display) Gui (user interface)
Objectgeoriënteerd Programmeren (2)
Objectgeoriënteerd Programmeren
Gameprogrammeren: Lists en interfaces
Gameprogrammeren: Overerving
Object georiënteerd programmeren
Gameprogrammeren: Animatie
Gameprogrammeren: Methoden
Gameprogrammeren: Properties
Gameprogrammeren: Abstracte klassen
Gameprogrammeren: Interfaces
Gameprogrammeren: Tiles en File I/O in Tick Tick
‘Inleiding objectgeoriënteerd programmeren met PHP’ ‘Inleiding’
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
Transcript van de presentatie:

Visual Basic 2005/2008 OOP in praktijk André Obelink - MCSD, MVP Web: Web:

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

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

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

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?

Demo dansende ballen…

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

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

Code dansende ballen…

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)

Demo & Code klassen Persoon, Leerling en Leerkracht

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’

Demo & Code Klasse Landen: Overrides ToString()

Demo & Code erf over TreeNode

Demo & Code klasse Mens: Objecten kopiëren …

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…..

Demo & Code klasse Student: Objecten sorteren…

Vragen? 