VB Magazine Online /01 1 / 6

Maat: px
Weergave met pagina beginnen:

Download "VB Magazine Online /01 1 / 6"

Transcriptie

1 Het overstappen van Visual Basic 6 naar Visual Basic.NET valt nog niet mee. Met Visual Basic 6 bent u in staat om objecten te bouwen, maar volledig object georiënteerd programmeren (OOP) is niet mogelijk. Met de komst van Visual Studio.NET kunt u dit echter wel. Het complete Microsoft.NET Framework, met al haar tools, is volgens objectgeoriënteerde principes ontwikkeld. Als u deze principes beheerst, kunt u Visual Basic.NET optimaal gebruiken. In het verleden heb ik met enige regelmaat geschreven hoe u binnen Visual Basic 6 zelf objecten kunt bouwen en deze kan toepassen binnen uw eigen applicaties of beschikbaar kan stellen aan andere toepassingen. Hoewel Visual Basic 6 al enige OOP kenmerken had, waren een aantal principes niet mogelijk, zoals volledige overerving en polymorfisme. Met Visual Basic.NET hebt u wel de beschikking over alle faciliteiten en mogelijkheden om volledig objectgeoriënteerd te programmeren. Wat houdt dit objectgeoriënteerd programmeren nu in en welke voordelen heeft het ten opzicht van meer serieel programmeren? Om deze vraag te kunnen beantwoorden leg ik u eerst een aantal concepten uit van objectgeoriënteerd programmeren. In de basis bestaat OOP uit een viertal pilaren: Abstractie (Abstraction); Insluiting (Encapsulation); Overerving (Inheritance); Polymorfisme (Polymorphism). Abstractie Abstractie betekent de scheiding van de totale implementatie van de applicatie in logische, feitelijke codeblokken. U onderscheidt een aantal losse, logische entiteiten en definieert deze. Een klassiek voorbeeld wat altijd in de literatuur weer opduikt is de auto. Men kan aan een auto een aantal zelfstandige onderdelen onderscheiden. Een goed voorbeeld is het Wiel. Een wiel heeft een aantal eigenschappen, bijvoorbeeld wielmaat, type velg en merk band. Door de interface van een wiel vast te leggen in een object, kan men die eenvoudig hergebruiken. De meeste auto s hebben immers vier wielen. Binnen Visual Basic.NET, maar ook binnen Visual Basic 6 kunt u dit bewerkstelligen door gebruik te maken van classes/objecten en bijvoorbeeld een collectie van die classes. Classes versus Objecten De termen class en object worden vaak naast - en door elkaar gebruikt. Toch zit er een wezenlijk verschil tussen beiden. De class is de blauwdruk van het object. Het object is de instantie van de class. Binnen uw applicatie kunnen er meerdere objecten zijn van één type class. U maakt object van een class met gebruik te maken van het keyword New() Interface Onder interface verstaan we hoe de class er voor de buitenwereld uit ziet. Dus welke publieke eigenschappen en methoden bevat het. Voorbeelden van eigenschappen (properties) zijn:.wielmaat,.merkband,.positie en.typevelg. Het zijn dus kenmerken die het object beschrijven en die invloed kunnen hebben op het gedrag van het object. Methoden (methods) kunnen worden uitgevoerd. Hierbij kunt u denken aan bijvoorbeeld: RondDraaien(). Een interface bevat alleen de declaratie. Classes kunnen zowel de declaratie als de definitie, dus inhoudelijke code bevatten. Het verschil zit hem met name in het feit dat classes de implementatie van zijn eigenschappen en methoden bevatten en interfaces niet. Zowel classes als interfaces ondersteunen overerving, waarover later meer. Binnen Visual Basic.NET definieert u een interface met het keyword Interface en een class met het keyword Class. Insluiting Met insluiting of encapsulation bedoelen we dat alle benodigde informatie en functionaliteit zich in de class bevindt. In veel gevallen weet u in wat voor een object uw class gebruikt gaat worden, maar soms ook niet. U mag dus geen vooronderstellingen maken over de context waarin uw class gebruikt gaat worden. De toegang tot die informatie mag enkel en alleen geschieden door het instellen van eigenschappen; de toegang moet dus beperkt zijn tot de properties en methods die de interface beschikbaar stelt. Het gevaar schuilt er in dat Visual Basic.NET u het wel mogelijk maakt om hiervan af te wijken. Publieke variabelen in modules zijn beschikbaar binnen een class, waardoor u toch een soort afhankelijkheid ten opzichte van de context kunt creëren. Verwijs dus nooit naar dit soort variabelen, maar maak deze beschikbaar als een eigenschap op uw object. Zorg dat uw interface compleet is, maar overdrijf hierin niet. Zolang uw interface vrij algemeen blijft kan men de code hergebruiken. Zodra u eigenschappen of methodes gaat toevoegen die alleen betrekking hebben op de applicatie waarin het oorspronkelijk voor ontwikkeld is, zal de class niet snel hergebruikt worden. En dit is nu juist een van de belangrijke redenen om te kiezen voor insluiting. Een voorbeeld: U maakt een class waarmee het eenvoudig wordt om informatie weg te schrijven naar een.ini bestand. De class bevat eigenschappen zoals:.filename,.section,.keyname en.keyvalue. Tevens bevat het de VB Magazine Online /01 1 / 6

2 volgende methoden: Save(), Load(), Delete() en Delete- All(). De interface is duidelijk en kan eenvoudig in een andere applicatie worden hergebruikt. Nu voegt u, om het aantal regels in aanroepende applicatie te verminderen, de methode:.saveusername(byval strusername) toe. Deze methode maakt of past de sectie UserInfo aan en schrijft in de sleutel Username de meegeven variabele weg. U bespaart een aantal handelingen, maar maakt uw class minder eenduidig en lastiger te hergebruiken. Niet doen dus. Zorg dat uw class logisch is opgebouwd en voorspelbaar reageert. Daarnaast heeft insluiting het voordeel dat de code zich bevindt op maar één plaats en op de plaats waar het eigenlijk ook hoort. Overerving De bovenstaande technieken zijn ook toe te passen met behulp van Visual Basic 6. Visual Basic.NET biedt u echter de mogelijkheid om naast classes en interfaces ook visuele elementen over te erven. Met de reeds beschreven concepten is er een sprake van een zogenaamde heeft-eenrelatie of has-a-relatie). De class CAuto heeft-een-relatie met de class CWiel. Of een Form heeft-een Textbox. Deze heeft-een relaties zijn een belangrijk kenmerk van OOP. U kunt namelijk toepassingen bouwen door bestaande objecten te combineren. Dit concept wordt ook wel aangeduid als compositie. Overerving of inheritance maakt daarentegen gebruik van een zogenaamde is-een-relatie. Een Textbox is een Control, een Bus is een Voertuig en een Haai is een Vis. Wanneer u code heeft geschreven die een Voertuig beschrijft, dan is het handig dat wanneer u een Bus wilt implementeren u de code van de Voertuig kunt hergebruiken en eventueel kan aanpassen. Dit kan plaats vinden door overerving: het maken, aanpassen en eventueel uitbreiden van nieuwe classes op basis van een bestaande classes. U maakt een afgeleide of derived class op basis van een zogenaamde basisclass of baseclass of superclass. Het hele.net Framework is op dit concept gebouwd, met als moeder van alle objecten: Object. Alle hiervan afgeleide classes bevatten een uitgebreidere interface, maar ook dè interface van deze class. Bekijkt u de code eens in Listing 1 Listing 1 Overerving Public Class Form1 Inherits System.Windows.Forms.Form Listing 2 CVoertuig Public MustInherit Class CVoertuig ' Interne variabelen van Public Properties Private mlngaantalzitplaatsen As Long Private mclrkleur As Color Private mlngtopsnelheid As Long ' Constructor Public Sub New() 'Stel default waarden in Me.AantalZitPlaatsen = 1 Me.Kleur = Color.White Me.TopSnelheid = 40 Public Property AantalZitPlaatsen() As Long Return mlngaantalzitplaatsen End Set(ByVal lngaantalzitplaatsen As Long) mlngaantalzitplaatsen = lngaantalzitplaatsen Public Property Kleur() As Color Return mclrkleur End Set(ByVal clrkleur As Color) mclrkleur = clrkleur Public Property TopSnelheid() As Long Return mlngtopsnelheid End Set(ByVal lngtopsnelheid As Long) mlngtopsnelheid = lngtopsnelheid Een voorbeeld van een eigen overervinghiërarchie. Men zou een basisclass CVoertuig kunnen maken. Deze class bevat reeds een aantal eigenschappen die voor alle voertuigen gelden, zoals bijvoorbeeld:.kleur,.aantalzitplaatsen of.topsnelheid. Elke Form binnen een Windows applicatie is afgeleid van de basisclass Form, die gedefinieerd is in System.Windows.Forms. Binnen het hele.net Framework komt dit principe aan het licht. Elke Button op een Form is afgeleid van System.Windows.Forms.Button. Sterker nog: u kunt een Form aanpassen en deze weer gebruiken als basis voor een nieuw Form. We spreken in dit geval van Inherited Forms of controls. Hierdoor kunt u de code in schermen die veel op elkaar lijken tot een minimum reduceren. Afbeelding 1 Een overervinghiërarchie VB Magazine Online /01 2 / 6

3 Op basis van deze basisclass zou men een aantal andere classes kunnen afleiden. Aan die afgeleide classes zou men vervolgens eigenschappen kunnen toevoegen die specifiek zijn voor deze class, bijvoorbeeld aan de afgeleide CLandVoertuig de eigenschap:.aantalwielen. In Listing 2 ziet u hoe u eenvoudig een class CVoertuig kunt definiëren.. Met de code in de constructor, kunt u het object voorzien van standaardwaarden. Op basis van bovenstaande code kunt u de class CLandVoertuig en op basis daarvan class CBus afleiden. Deze laatste class bevat de eigenschappen van zowel CVoertuig als CLandVoertuig. Het heeft al deze eigenschappen geerfd. Zie voor deze implementatie Listing 3. Listing 3 CLandVoertuig en CBus Public MustInherit Class CLandVoertuig Inherits CVoertuig ' Interne variabelen Private mintaantalwielen As Int32 Public Property AantalWielen() As Int32 Return mintaantalwielen End Set(ByVal intaantalwielen As Int32) mintaantalwielen = intaantalwielen Public Sub New() Me.AantalWielen = 1 vergelijken met de denkwijzes die u hanteert bij het gebruik van woorden die de scope van variabelen bepalen. Hierbij kunt u denken aan Public, Private en bijvoorbeeld Friend. Per property of method bekijkt u of u het beschikbaar wil maken voor de buitenwereld of dat het een interne property of method is. De keywords als MustInherit, MustOverride, Overrideable, NotInheritable en alle andere maken het u mogelijk om betere code te schrijven. In ieder geval kunnen uw classes en objecten eenduidiger in het gebruik worden, waardoor u, als programmeur van de baseclasses, niet voor vervelende problemen komt te staan. U voorkomt dat andere programmeurs uw object op een geheel andere en ongewenste wijze kunnen implementeren. Listing 4 Gebruik classes vanuit client Dim objbus As New CBus Dim strcrlf As String = System.Environment.NewLine With objbus ' Stel specifieke eigenschappen in.aantalwielen = 6.Kleur = Color.Yellow ' Toon messagebox met waarden MessageBox.Show("Aant. zitplaatsen: " & _.AantalZitPlaatsen.ToString & strcrlf & _ "Topsnelheid: " & _.TopSnelheid.ToString & strcrlf & _ "Aant. wielen: " & _.AantalWielen.ToString & strcrlf & _ "Kleur: " &.Kleur.ToString) End With Public Class CBus Inherits CLandVoertuig ' Constructor Public Sub New() Me.AantalWielen = 6 Me.AantalZitPlaatsen = 70 Doordat CVoertuig en CLandVoertuig zogenaamde abstracte classes zijn kunnen ze niet als zelfstandige objecten worden geïnstantieerd. U maakt een abstracte class met behulp van het MustInherit keyword. We noemen deze classes ook wel virtual abstract classes. Methods en properties die als MustOverride gemarkeerd zijn, noemen we ook wel virtual abstract methods. Met het keyword Inherits geeft u aan op basis van welke class het object afgeleid moet worden. Deze keywords maken het misschien op het eerste gezicht niet makkelijker, maar u kunt er wel betere code mee schrijven. Het is zeker aan te raden om per class(hiërarchie) te bepalen of u deze keywords wilt gebruiken. U kunt dit proces min of meer Afbeelding 2 Gebruik van de class CBus De implementatie van de classes kunt u vrij simpel toepassen. U declareert een variabele van het type CBus en u kunt op dit object de eigenschappen specifiek voor het type CBus benaderen, maar ook eigenschappen die geërfd zijn van CVoertuig. Wanneer u de code van Listing 3 uitvoert, wordt er een messagebox getoond zoals afbeelding 2. Wanneer u wilt dat een class niet meer gederived kan worden of met andere woorden dat er geen andere classes meer van kan worden afgeleid, dan kunt u een zogenaamde final class definiëren. Dit type class is gemarkeerd als NotInheritable. VB Magazine Online /01 3 / 6

4 Listing 5 NotInheritable class CDubbelDekker Public NotInheritable Class CDubbelDekker Inherits CBus '... op zich best goed uitziet, is het niet de beste implementatie. Een eenmotorig vliegtuig heeft geen twee motoren die we kunnen starten en tweemotorige vliegtuigen hebben altijd twee motoren die we moeten starten. Vanuit het oogpunt van OOP hoort de code niet gemixt te zijn; feitelijk hebben we te maken met twee classes. Listing 7 Met polymorfisme Namespace MetPolymorfisme Polymorfisme Waarschijnlijk het lastigste concept van OOP is polymorfisme of te wel veelvormigheid. Met polymorfisme wordt het gedrag beschreven van classes die van een gemeenschappelijke baseclass zijn afgeleidt. Visual Basic.NET biedt u de mogelijkheid om polymorfisme toe te passen en optimaal te gebruiken. Met polymorfisme worden methods met dezelfde naam op verschillende wijze geïmplementeerd. Stelt u zich eens voor dat we een class definiëren van het type CVliegtuig. Nu kan men zowel een eenmotorigals tweemotorig vliegtuig onderscheiden. Voor beide vliegtuigtypes moeten we de motor kunnen starten; dit implementeren we als method: StartMotor(). Doordat we tijdens het aanmaken van het object aangeven met welk type vliegtuig we te maken hebben, kunnen we met behulp van een Select Case bepalen wat er feitelijk moet gebeuren. Bekijkt u onderstaande code zorgvuldig, hier wordt dit programmeerprobleem opgelost zonder gebruik te maken van polymorfisme. Listing 6 Zonder polymorfisme Namespace ZonderPolymorfisme Public Enum VliegtuigTypeEnum EenMotorig = 0 TweeMotorig = 1 End Enum Public Class CVliegtuig Private menmvliegtuigtype As VliegtuigTypeEnum Public Sub New(ByVal enmvliegtuigtype As VliegtuigTypeEnum) menmvliegtuigtype = enmvliegtuigtype Public Sub StartMotor() Select Case menmvliegtuigtype Case VliegtuigTypeEnum.EenMotorig Case VliegtuigTypeEnum.TweeMotorig MessageBox.Show("Start motor 2") End Select End Namespace Afhankelijk van hoe het object is aangemaakt worden er of één of twee messageboxen getoond. Hoewel deze code er Public MustInherit Class CVliegtuig Public MustOverride Sub StartMotor() Public NotInheritable Class EenMotorigVliegtuig Inherits CVliegtuig Public Overrides Sub StartMotor() Public NotInheritable Class TweeMotorigVliegtuig Inherits CVliegtuig Public Overrides Sub StartMotor() MessageBox.Show("Start motor 2") End Namespace Wanneer u de twee oplossingen met elkaar vergelijkt zult u het met mij eens zijn dat de versie met polymorfisme er eenvoudiger uitziet en zeker makkelijker te onderhouden is. Wanneer u besluit om een viermotorig vliegtuig te implementeren kunt u de code eenvoudig uitbreiden, zonder de bestaande implementatie aan te passen. Dit is een veel veiligere manier van werken, dan dat u de bestaande code moet uitbreiden met nieuwe Case... Tevens ziet u hier het gebruik van namespaces. Dit houdt concreet in dat we in de applicatie meerdere classes van het type CVliegtuig kunnen benoemen. Door te verwijzen naar de namespace, weet de compiler welke class gebruikt moet worden. Listing 8 Gebruik polymorfisme Private Sub btnzonder1_click(byval sender As System.Object, _ Handles btnzonder1.click Dim objvliegtuig As New _ ZonderPolymorfisme.CVliegtuig( _ ZonderPolymorfisme.VliegtuigTypeEnum.EenMotorig) VB Magazine Online /01 4 / 6

5 Private Sub btnzonder2_click(byval sender As System.Object, _ Handles btnzonder2.click Dim objvliegtuig As New _ ZonderPolymorfisme.CVliegtuig( _ ZonderPolymorfisme.VliegtuigTypeEnum.TweeMotorig) ' MET POLYMORFISME Private Sub btnmet1_click(byval sender As System.Object, _ Handles btnmet1.click Dim objvliegtuig As New MetPolymorfisme.EenMotorigVliegtuig Public Class CKeffertje Inherits CHond Public Overrides Sub Blaffen() MyBase.Blaffen() ' Hierdoor zegt het eerst Waf Waf! MessageBox.Show("Woef Woef") Het aanroepen van de code resulteert in de volgende messageboxen. U ziet dat ook de code die in CHond is geïmplementeerd wordt uitgevoerd. Private Sub btnmet2_click(byval sender As System.Object, _ Handles btnmet2.click Dim objvliegtuig As New MetPolymorfisme.TweeMotorigVliegtuig Er zijn drie vormen van polymorfisme. Interface polymorfisme Deze vorm van polymorfisme is in principe ook mogelijk met Visual Basic 6. Feitelijk houdt het in dat meerdere classes een interface kunnen implementeren, maar ook dat één class meerdere interfaces kan implementeren. Zoals al eerder is beschreven bevat de interface geen echte code en het gedrag wordt bepaald door de code die er in het object aan wordt toegevoegd. Inheritance polymorfisme Inheritance polymorfisme ondersteunt meerdere afgeleide classes van een baseclass. Elke afgeleide class erft alles, inclusief de implementatiecode en kan worden uitgebreid met eigen methods en properties. Wanneer u wilt dat een bepaalde methode binnen de afgeleide class moet worden overschreven, gebruikt u het Overrides keyword. Een voorwaarde is echter wel dat in de base class de desbetreffende methode is aangemerkt als Overridable. Wanneer u wilt dat de oorspronkelijke code in de baseclass ook wordt uitgevoerd dan kunt u deze aanroepen door: MyBase.MethodeNaam. Listing 9 Gebruik MyBase Public Class CHond Public Overridable Sub Blaffen() MessageBox.Show("Waf Waf") Afbeelding 3 Gebruik MyBase Abstract polymorfisme Abstracte classes moeten geïmplementeerd worden door een afgeleide class, want zijzelf kunnen niet worden geïnstantieerd. Aangezien abstracte classes geen implementatiecode bevatten, zult u dat voor elke method en property zelf moeten schrijven. In het gebruik lijkt abstract polymorfisme erg op interface polymorfisme. Me, MyBase en MyClass In de bovenstaande codevoorbeelden bent u al een aantal keer de keywords Me en MyBase tegengekomen. U gebruikt MyBase wanneer u wilt verwijzen naar properties of methods op het parentobject. U gebruikt Me, wanneer u wilt verwijzen naar variabelen, properties of methods. Het keyword MyClass is echter wat lastiger te begrijpen. Het lijkt erg veel op Me, met dien verstande dat het niet kijkt naar de huidige instantie van de class. Wanneer u een niet geïmplementeerde overridable methode aanroept binnen de afgeleide class, bestaat het gevaar dat die methode niet volledig wordt uitgevoerd in de context van de baseclass, waardoor het resultaat erg onvoorspelbaar wordt. Het zou kunnen zijn dat u een methode wel hebt geïmplementeerd en dat de baseclass die methode gebruikt. Gebruik daarom het MyClass keyword om ervoor te zorgen dat een method in de baseclass altijd de methods en properties in die baseclass gebruikt (in tegenstelling tot de overridden versie in de afgeleide class). VB Magazine Online /01 5 / 6

6 Tot slot De mogelijkheid om volledig object georiënteerd te programmeren met VB.NET is een grote vooruitgang. Wilt u optimaal gebruik maken van deze features, dan moet u zich de tijd gunnen om alle principes in de vingers te krijgen; maar het is die tijdsinvestering dubbel en dwars waard. Een aantal zaken met betrekking tot overerving en polymorfisme, zoals bijvoorbeeld shadowing of multiple inheritance zijn niet besproken. Deze termen kunnen als beginpunt dienen om deze materie verder te kunnen uitdiepen. De besproken sourcecode kunt u downloaden van onze website ( Bronnen Programming Microsoft Visual Basic.NET Francesco Balena ( ) Programmeercursus OOP met VB.NET en C# Robin A. Reynolds-Haertle ( ) Wie is André Obelink? André Obelink (1969) is werkzaam als technical manager en consultant bij AcouSoft Informatisering B.V. AcouSoft is marktleider in Nederland op het gebied van software voor de audicienbranche. Daarnaast bouwt AcouSoft maatwerkapplicaties en ondersteunt zij andere bedrijven bij allerhande softwaretrajecten in VB6/VB.NET/MS Access 97/XP en SQL-Server 7/2000. André is een MCSD, programmeert in Visual Basic sinds 1991 (ja versie 1.0 dus..) en behoort tot een van de oprichters van de Visual Basic Groep. Als hij niet programmeert, doceert, leest, schrijft of droomt over programmeren, brengt hij graag zijn tijd door met zijn vrouw en twee kinderen. U kunt hem bereiken via a.obelink@vbgroup.nl Copyright Visual Basic Groep. Dit artikel is auteursrechtelijk beschermd. Afdrukken voor eigen gebruik is toegestaan. VB Magazine Online /01 6 / 6

VB Magazine Online 2004 01/08 1 / 6

VB Magazine Online 2004 01/08 1 / 6 Een van de krachtigste elementen binnen Visual Basic 2003 vind ik wel de mogelijkheid om objecten te overerven; ook wel inheritance genoemd. U kunt niet alleen uw eigen classes en business objecten overerven,

Nadere informatie

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double. Algemeen C# Variabele Een variabele is een willekeurige waarde die word opgeslagen. Een variabele heeft altijd een datetype ( De soort waarde die een variabele bevat). Datatypes Een datatype is de sort

Nadere informatie

Visual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET

Visual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET Visual Basic.NET M. den Besten 0.3 VB. NET Inhoud Voorwoord Deel 1 Visual Basic.NET 1.1 Inleiding...13 1.2 De programmeertaal Visual Basic.NET...14 1.3 Microsoft Visual Basic 2010 Express Edition...15

Nadere informatie

vbg.vbnet.beginner Omgaan met files en directories binnen Visual Basic.NET

vbg.vbnet.beginner Omgaan met files en directories binnen Visual Basic.NET In Visual Basic 6 was het werken met bestanden en mappen niet altijd even vriendelijk. Met de komst van het FileSystemObject binnen de Microsoft Scripting Runtime library werd het al veel beter. Het.NET

Nadere informatie

vbg.vbnet.beginner Foutafhandeling binnen Visual Basic.NET

vbg.vbnet.beginner Foutafhandeling binnen Visual Basic.NET Fouten in software zijn onwenselijk, maar bijna niet te voorkomen. Er zijna namelijk zaken waar uw software geen invloed op uit kan oefenen. Het verbreken van een netwerkverbinding is een voorbeeld hiervan.

Nadere informatie

Programmeren in Java 3

Programmeren in Java 3 26 september 2007 Deze les korte herhaling vorige les Unified Modelling Language notatie van een class afleiding pointers abstracte classes polymorphisme dubieuze(?) constructies interfaces Meer over class

Nadere informatie

NHibernate als ORM oplossing

NHibernate als ORM oplossing NHibernate als ORM oplossing Weg met de SQL Queries Wat is ORM? ORM staat in dit geval voor Object Relational Mapping, niet te verwarren met Object Role Modeling. ORM vertaalt een objectmodel naar een

Nadere informatie

Kleine cursus PHP5. Auteur: Raymond Moesker

Kleine cursus PHP5. Auteur: Raymond Moesker Kleine cursus PHP5 Auteur: Raymond Moesker Kleine cursus PHP PHP is platform en CPU onafhankelijk, open source, snel, heeft een grote userbase, het is object georiënteerd, het wordt omarmd door grote bedrijven

Nadere informatie

Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden.

Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden. Herhaling Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden. De basisbouwsteen is het object; een geïntegreerde eenheid van data en operaties werkend op deze

Nadere informatie

INLEIDING... 1 AFSPRAKEN... 2 INHOUDSOPGAVE...

INLEIDING... 1 AFSPRAKEN... 2 INHOUDSOPGAVE... Inhoudsopgave INLEIDING... 1 AFSPRAKEN... 2 INHOUDSOPGAVE... 3 1 OOP EN.NET... 11 1.1 Inleiding... 11 1.2 Kwaliteit van een programma... 11 1.2.1 Correctheid en bruikbaarheid... 11 1.2.2 Robuustheid...

Nadere informatie

Programmeren in C# Interfaces. Hoofdstuk 23

Programmeren in C# Interfaces. Hoofdstuk 23 Programmeren in C# Interfaces Hoofdstuk 23 Programmeren in C# 2 Gradaties overerving Klassieke overerving Iets functioneels uitbreiden Code duplicatie Niet teveel aanpassingen aan bestaande code Objecten

Nadere informatie

Dieper in Visual Basic.Net

Dieper in Visual Basic.Net Visual Basic.NET Dieper in Visual Basic.Net 7.1 Inleiding Dit hoofdstuk is bedoeld om je wat handiger te maken in het programmeren in Visual Basic. Je leert geen nieuwe programmeervaardigheden, maar je

Nadere informatie

Een eerste applicatie

Een eerste applicatie Een eerste applicatie 2.1 Inleiding Programmeren in Visual Basic.NET doe je niet alleen door regels met code te schrijven. Je begint met het ontwerpen van een venster in de design mode met allerlei controls,

Nadere informatie

VI. Klassen en objecten

VI. Klassen en objecten VI. Klassen en objecten Klassen en objecten vormen het fundament van OOP. We zullen dus uitgebreid aandacht besteden aan klassen en objecten. U kunt Java niet begrijpen zonder goed met klassen en objecten

Nadere informatie

Programmeren in C# Overerving

Programmeren in C# Overerving Programmeren in C# Overerving Programmeren in C# 2 public class Balloon private int x = 50; private int y = 50; private int diameter = 20; public int Diameter getreturn diameter; setif (value

Nadere informatie

No part of this book may be reproduced in any form, by print, photoprint, microfilm or any other means without written permission of the publisher.

No part of this book may be reproduced in any form, by print, photoprint, microfilm or any other means without written permission of the publisher. Frans, Roger Visual Basic.NET 2/2 / Roger Frans; Geel: Campinia Media vzw, 2004; 231 p; index; 25,5 cm; gelijmd. ISBN: 90.356.1192.6; NUGI 854; UDC 681.3.06 Wettelijk depot België: D/2004/3941/9 Campinia

Nadere informatie

ALGORITME objectgeoriënteerd programmeren

ALGORITME objectgeoriënteerd programmeren ALGORITME objectgeoriënteerd programmeren Gunter Schillebeeckx 1 objectgeoriënteerd programmeren Object Klasse Instantie Eigenschap Methode Inkapseling Polymorfisme Overerving 2 Inleiding Kern Samenvatting

Nadere informatie

Hoofdstuk 1: Inleiding. Hoofdstuk 2: Klassen en objecten Datahiding: afschermen van implementatiedetails. Naar de buitenwereld toe enkel interfaces.

Hoofdstuk 1: Inleiding. Hoofdstuk 2: Klassen en objecten Datahiding: afschermen van implementatiedetails. Naar de buitenwereld toe enkel interfaces. Hoofdstuk 1: Inleiding Objectoriëntatie: 1. Objecten & klassen: samenwerking van componenten om bepaald doel te bereiken; herbruikbaarheid. 2. Encapsulation: afschermen gedragingen en kenmerken van de

Nadere informatie

Sparse columns in SQL server 2008

Sparse columns in SQL server 2008 Sparse columns in SQL server 2008 Object persistentie eenvoudig gemaakt Bert Dingemans, e-mail : info@dla-os.nl www : http:// 1 Content SPARSE COLUMNS IN SQL SERVER 2008... 1 OBJECT PERSISTENTIE EENVOUDIG

Nadere informatie

De Vergeten Abstracties

De Vergeten Abstracties De Vergeten Abstracties Cesario Ramos Senior Consultant bij Xebia B.V. 2009 Inleiding Rollen zijn een belangrijk concept in object georiënteerde software ontwikkeling dat vaak vergeten wordt. Het gebruik

Nadere informatie

Mijn eerste ADO.NET applicatie

Mijn eerste ADO.NET applicatie Hoofdstuk 2 Mijn eerste ADO.NET applicatie ADO staat voor ActiveX Database Objects. Dit is een verzameling klassen die onderdeel uitmaken van het.net framework, waarmee je verbinding kunt maken met een

Nadere informatie

Klassen & objecten, overerving, abstracte klassen, debuggen, interfaces, formulieren, polymorfie, statische methoden, event-handlers

Klassen & objecten, overerving, abstracte klassen, debuggen, interfaces, formulieren, polymorfie, statische methoden, event-handlers 1 Inhoud Klassen & objecten, overerving, abstracte klassen, debuggen, interfaces, formulieren, polymorfie, statische methoden, event-handlers 2 Geluidsbronnen simulator, deel 2 Inleiding De weergave versnellen

Nadere informatie

Object-oriented programmeren met BlueJ en Visual Studio

Object-oriented programmeren met BlueJ en Visual Studio Object-oriented programmeren met BlueJ en Visual Studio HA-2265-03 Nascholing Katholiek Onderwijs Vlaanderen Bert Cauwenberg & Lieven Pauwels Werkgroep Handel 2017 Guimardstraat 1, 1040 Brussel Guimardstraat

Nadere informatie

Afdrukken met Visual Basic 2008

Afdrukken met Visual Basic 2008 Afdrukken met Visual Basic 2008 André Obelink www.maryor.nl www.obelink.com Over mezelf MarYor software & consultancy Auteur van artikelen en boeken Geschreven voor Microsoft.NET Magazine, PC Active, MSDN

Nadere informatie

Programmeren in Java 3

Programmeren in Java 3 2 september 2007 voor deeltijdstudenten Kop van Zuid Rotterdam, 3 juni 2007 Even voorstellen Naam: Wessel Oele(31) Docent bij opleiding technische informatica Kamer: I210 (tweede verdieping, links de gang

Nadere informatie

Programming Content Management Server 2002

Programming Content Management Server 2002 Met behulp van Content Management Server 2002 (CMS) kun je eenvoudig te onderhouden websites bouwen en beheren. De business driver van CMS is het gebruiksvriendelijk beheer van een website, in het bijzonder

Nadere informatie

Vakgroep CW KAHO Sint-Lieven

Vakgroep CW KAHO Sint-Lieven Vakgroep CW KAHO Sint-Lieven Objecten Programmeren voor de Sport: Een inleiding tot JAVA objecten Wetenschapsweek 20 November 2012 Tony Wauters en Tim Vermeulen tony.wauters@kahosl.be en tim.vermeulen@kahosl.be

Nadere informatie

Java. Basissyllabus. Egon Pas

Java. Basissyllabus. Egon Pas Java Basissyllabus Egon Pas 2011 BeanPole bvba Gasmeterlaan 92-9000 Gent BTW BE 472.902.516 Tel: + 32 9 224 42 17 Fax: + 32 9 223 62 88 www.beanpole.be info@beanpole.be 1 Programmeren 1.1 Hoe werkt een

Nadere informatie

Informatica. Objectgeörienteerd leren programmeren. Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele

Informatica. Objectgeörienteerd leren programmeren. Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele Informatica Objectgeörienteerd leren programmeren Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele http://creativecommons.org/licenses/by-nc-nd/3.0/legalcode Objectgeörienteerd

Nadere informatie

Aan het eind van deze lesbrief wordt uitgelegd wat het nut van OOP is en vind je een aantal oefenopdrachten.

Aan het eind van deze lesbrief wordt uitgelegd wat het nut van OOP is en vind je een aantal oefenopdrachten. Doel van deze lesbrief Deze lesbrief is bedoeld om je op de hoogte te brengen van de basisbegrippen die gangbaar zijn bij object georiënteerd programmeren (OOP). In deze lesbrief kom je korte codefragmenten

Nadere informatie

Visual Studio NET Framework 2.0. campinia media vzw

Visual Studio NET Framework 2.0. campinia media vzw Visual Studio 2005 -.NET Framework 2.0 campinia media vzw Frans, Roger Visual Basic 2005 2/2 / Roger Frans; Geel: Campinia Media vzw, 2006-1ste druk oktober 2006; 250 p; index; 25,5 cm; gelijmd. ISBN:

Nadere informatie

Verder zijn er de nodige websites waarbij voorbeelden van objectgeoriënteerd PHP (of Objec Oriented PHP, OO PHP) te vinden zijn.

Verder zijn er de nodige websites waarbij voorbeelden van objectgeoriënteerd PHP (of Objec Oriented PHP, OO PHP) te vinden zijn. Objectgeoriënteerd PHP (versie 5) Kennisvereisten: Ervaring met programmeren in PHP met MySQL Je weet wat een class of klasse is Je weet wat een instantie van een klasse (een object) is Je weet wat een

Nadere informatie

et Zend Framework bestaat volledig uit objectgeoriënteerde

et Zend Framework bestaat volledig uit objectgeoriënteerde et Zend Framework bestaat volledig uit objectgeoriënteerde PHP-code. Om het Zend Framework goed te kunnen begrijpen en te kunnen gebruiken, moet u minimaal de basis van objectgeoriënteerd programmeren

Nadere informatie

Inleiding Programmeren 2

Inleiding Programmeren 2 Inleiding Programmeren 2 Gertjan van Noord 11 december 2017 Zelle hoofdstuk 10 Stof Overzicht - theorie 1. Zelle hoofdstuk 4 en 5 2. Zelle hoofdstuk 7 en 8, recursie, Brookshear hoofdstuk 5 3. Zelle hoofdstuk

Nadere informatie

Modeleren. Modelleren. Together UML. Waarvan maken we een model? overzicht les 14 t/m 18. ControlCenter 6.2

Modeleren. Modelleren. Together UML. Waarvan maken we een model? overzicht les 14 t/m 18. ControlCenter 6.2 Modelleren Werkelijkheid Modelleren Modeleren Waarvan maken we een model?!analyse " Maak een model van de te automatiseren werkelijkheid of van het op te lossen probleem! Domeinkennis = structuur! Functionele

Nadere informatie

IMP Uitwerking week 13

IMP Uitwerking week 13 IMP Uitwerking week 13 Opgave 1 Nee. Anders moet bijvoorbeeld een venster applicatie een subklasse zijn van zowel Frame en WindowListener. Als de applicatie ook een button of een menu heeft, dan moet het

Nadere informatie

Modelleren & Programmeren. Jeroen Fokker

Modelleren & Programmeren. Jeroen Fokker Modelleren & Programmeren Jeroen Fokker Wat heb je nodig? Collegediktaat kopen bij A-Eskwadraat (BBG-238) of zelf downloaden en uitprinten www.cs.uu.nl / docs / vakken / KI1V13009 Solis-id met password

Nadere informatie

Programmeren: Visual Basic

Programmeren: Visual Basic PETERSTUYVESANT COLLEGE INFORMATICA 2009-2010 Programmeren: Visual Basic Document Afbaking 01. VERSCHILLENDE PROGRAMMEERTALEN 02. PROGRAMMEER PAKKETTEN 03. GUI 03.1 GUI ELEMENTEN 03.2 GUI EIGENSCHAPPEN

Nadere informatie

Afspraken vet start- map oplos- singenmap

Afspraken vet start- map oplos- singenmap Inleiding Visual Basic 2017 is een objectgeoriënteerde programmeertaal. De basiselementen van de programmeertaal zijn de begrippen klasse en object. De taal ondersteunt inkapseling (encapsulation), enkele

Nadere informatie

Objectgeoriënteerd Programmeren: WPO 2a

Objectgeoriënteerd Programmeren: WPO 2a Objectgeoriënteerd Programmeren: WPO 2a 1. Inhoud Eenvoudige (enkelvoudige) overerving, override, ToString(), base, private, public, protected, virtual 2. Inleiding 2.1 Overerving In het voorgaande WPO

Nadere informatie

Introductie in C++ Jan van Rijn. September 2013

Introductie in C++ Jan van Rijn. September 2013 Introductie in C++ Jan van Rijn September 2013 Inhoud Classes Overerving Const correctness Standard C++ library Templates Classes Voordelen van classes: Modelleren Modulariteit Informatie afschermen Makkelijk(er)

Nadere informatie

Software Factories. Toepassing van Domain Specific Languages. achtergrond

Software Factories. Toepassing van Domain Specific Languages. achtergrond In de software-industrie zijn budget- en deadline-overschrijdingen aan de orde van de dag, er wordt vaak niet aan de gestelde verwachtingen voldaan. Dit kan worden voorkomen door software-ontwikkeling

Nadere informatie

Klassen. Hoofdstuk Klassen

Klassen. Hoofdstuk Klassen 212 Hoofdstuk 12 Klassen blz. 213 blz. 214 12.1 Klassen Een klasse is een groepje methoden. Dat hebben we in de programma s tot nu toe wel gezien: we definieerden steeds een of meerdere klassen (in ieder

Nadere informatie

Inleiding Programmeren 2

Inleiding Programmeren 2 Inleiding Programmeren 2 Gertjan van Noord, Leonie Bosveld 12 december 2016 Zelle hoofdstuk 10 Stof Overzicht - theorie 1. Zelle hoofdstuk 4 en 5 2. Zelle hoofdstuk 7 en 8, recursie, Brookshear hoofdstuk

Nadere informatie

Access voor beginners - hoofdstuk 25

Access voor beginners - hoofdstuk 25 Access voor beginners - hoofdstuk 25 Handleiding van Auteur: OctaFish Oktober 2014 Werken met Klassemodules Tot nu toe heb ik in de cursus Access veel gewerkt met formulieren, en met procedures en functies.

Nadere informatie

Ontwikkelen Smart Documents met Microsoft Office System

Ontwikkelen Smart Documents met Microsoft Office System Peter Himschoot en Wim Uyttersprot Peter Himschoot is werkzaam als softwarearchitect en trainer bij U2U, en is MSDN Regional Director voor België en Luxemburg. Hij is bereikbaar via peter@u2u.net. Wim

Nadere informatie

Een gelinkte lijst in C#

Een gelinkte lijst in C# Een gelinkte lijst in C# In deze tutorial ga demonstreren hoe je een gelinkte lijst kan opstellen in C#. We gaan een klasse schrijven, die een gelijkaardige functionaliteit heeft als een ArrayList, namelijk

Nadere informatie

Modulewijzer Tirdat01

Modulewijzer Tirdat01 Modulewijzer Tirdat01 W. Oele 25 augustus 2008 1 Inhoudsopgave 1 Inleiding en leerdoelen 3 2 Voorkennis 3 2.1 tirprg01 en tirprg02........................ 3 2.2 tirprg03.............................. 4

Nadere informatie

Ontwerp van Informatiesystemen

Ontwerp van Informatiesystemen 1ste bach HIB Ontwerp van Informatiesystemen Prof. Verelst Q www.quickprinter.be uickprinter Koningstraat 13 2000 Antwerpen 112 2,50 Online samenvattingen kopen via www.quickprintershop.be Table of Contents

Nadere informatie

Visual Basic 2005 nieuwe taalelementen André Obelink, MCSD, MVP

Visual Basic 2005 nieuwe taalelementen André Obelink, MCSD, MVP Visual Basic 2005 nieuwe taalelementen André Obelink, MCSD, MVP Auteur, VBcentral.nl Microsoft MVP Visual Basic VP Speakers Bureau INETA Europe - www.europe.ineta.org www.vbcentral.nl - www.obelink.com

Nadere informatie

Roger Frans. Leren programmeren in. Visual Basic 2008. Met cd-rom. Deel 2/2. campinia media vzw

Roger Frans. Leren programmeren in. Visual Basic 2008. Met cd-rom. Deel 2/2. campinia media vzw Roger Frans Leren programmeren in Visual Basic 2008 Met cd-rom campinia media vzw Deel 2/2 Frans, Roger Leren programmeren in Visual Basic 2008 2/2 / Roger Frans; Geel: Campinia Media vzw, 2009; 256 p;

Nadere informatie

Programmeren in C# Klassen schrijven

Programmeren in C# Klassen schrijven Programmeren in C# Klassen schrijven In dit hoofdstuk Klassestructuur Private variabelen Publieke methoden (public) Properties Constructormethodes Private methodes (private) Static methodes en properties

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 18 december 2015 Overerving (inheritance) Constructors Overriding Inheritance demo Exceptions Zelf exceptions veroorzaken Overerving (inheritance) 2-dimensionaal

Nadere informatie

Dynamiek met VO-Script

Dynamiek met VO-Script Dynamiek met VO-Script Door Bert Dingemans DLA Ontwerp & Software bert@dla-architect.nl Inleiding Op de SDGN nieuwsgroep voor Visual Objects ontstond laatst een draad van berichten over de nieuwe libraries

Nadere informatie

SYNTRA-WEST. Cursus OOP. Deel

SYNTRA-WEST. Cursus OOP. Deel SYNTRA-WEST Cursus OOP Deel Syntra-West voorheen VORMINGSINSTITUUT VOOR KMO Syntra-West Doorniksesteenweg 220 8500 Kortrijk Tel. 056/26.02.00 Fax 056/22.81.07 i Inhoudsopgave SYNTRA-WEST... 0 CURSUS OOP...

Nadere informatie

Noties Informatica. In java fungeren objecten als een model voor de elementen waarin een probleem kan worden opgesplitst

Noties Informatica. In java fungeren objecten als een model voor de elementen waarin een probleem kan worden opgesplitst s Informatica Hoofdstuk 1 Object Klasse Methode Parameters Type Velden Toestand Compiler Resultaten (returnwaarde) In java fungeren objecten als een model voor de elementen waarin een probleem kan worden

Nadere informatie

Hoofdstuk 1: Een eerste Visual Basic project

Hoofdstuk 1: Een eerste Visual Basic project Programmeren in Microsoft Visual Basic 2010 Express, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Vespucci College, Marnix Gymnasium Rotterdam, december 2011 Hoofdstuk

Nadere informatie

Hier volgt als hulp wat technische informatie voor de websitebouwer over de werking van de xml web service.

Hier volgt als hulp wat technische informatie voor de websitebouwer over de werking van de xml web service. WEB SERVICE WERKING Hier volgt als hulp wat technische informatie voor de websitebouwer over de werking van de xml web service. Aanvullende informatie omtrent de fieldmapping kunt u hier inzien: www.effector.nl/webservice/technischeuitlegfieldmapping.xls

Nadere informatie

HvA Instituut voor Interactieve Media ActionScript 3.0

HvA Instituut voor Interactieve Media ActionScript 3.0 PPRO 1: OEFENINGEN LES 1 Hierbij de werkgroepoefeningen behorend bij het practicum week 1. Lees de stukken uitleg aandachtig door, zonder deze informatie zullen de principes in de oefeningen moeilijk te

Nadere informatie

Programmeren 3. 1. Het gesloten boek examen 1.1

Programmeren 3. 1. Het gesloten boek examen 1.1 Programmeren 3 1. Het gesloten boek examen Het gesloten boek examen bestaat uit meerkeuzevragen of vragen waarin gevraagd wordt een stukje code te schrijven of om het resultaat van een stuk code te voorspellen.

Nadere informatie

HBO5 Informatica Netwerkbeheer (90 studiepunten) In deze module leer je projecten op te stellen en te programmeren in de VB.NET-omgeving.

HBO5 Informatica Netwerkbeheer (90 studiepunten) In deze module leer je projecten op te stellen en te programmeren in de VB.NET-omgeving. STUDIEFICHE CVO DE AVONDSCHOOL Opleiding HBO5 Informatica Netwerkbeheer (90 studiepunten) Module A5 Programmeren 1 (9 studiepunten) Plaats van de module in de opleiding: In deze module leer je projecten

Nadere informatie

Parallelle Poort Aansturen Met Visual Basic

Parallelle Poort Aansturen Met Visual Basic Parallelle Poort Aansturen Met Visual Basic 1. Waarom? (Voor Beginners) Er zijn geregeld vragen over hoe je nu eigenlijk een parallelle poort moet aansturen. Op het internet is heel wat te vinden, maar

Nadere informatie

Abstracte klassen & Interfaces

Abstracte klassen & Interfaces Abstracte klassen & Interfaces Overerving public class Vierhoek {... Vierhoek public class Rechthoek extends Vierhoek {... public class Ruit extends Vierhoek {... Rechthoek Ruit Elke rechthoek is een vierhoek.

Nadere informatie

Een unit test is geen integratie test. Niet het hele systeem, maar onderdelen van een systeem worden getest.

Een unit test is geen integratie test. Niet het hele systeem, maar onderdelen van een systeem worden getest. WAT IS EEN UNIT TEST? Een unit test is een test om de functionaliteit van stukken code te controleren. Een goede unit test waarborgt een consistente werking van een klein onderdeel (een unit ) van de broncode.

Nadere informatie

Modulewijzer tirprog02/infprg01, programmeren in Java 2

Modulewijzer tirprog02/infprg01, programmeren in Java 2 Modulewijzer tirprog02/infprg01, programmeren in Java 2 W. Oele 17 november 2009 1 Inhoudsopgave 1 Inleiding 3 2 Studiehouding 3 3 Voorkennis 4 4 Inhoud van deze module 5 5 Leermiddelen 5 6 Theorie en

Nadere informatie

Examen Software Ontwikkeling I 2e Bachelor Informatica Academiejaar Januari, **BELANGRIJK** : Schrijf je naam onderaan dit blad

Examen Software Ontwikkeling I 2e Bachelor Informatica Academiejaar Januari, **BELANGRIJK** : Schrijf je naam onderaan dit blad Examen Software Ontwikkeling I 2e Bachelor Informatica Academiejaar 2006-2007 23 Januari, 2007 **BELANGRIJK** : Schrijf je naam onderaan dit blad Leg volgende 3 begrippen kort en bondig uit : a. Concurrent

Nadere informatie

Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 6 november 2015, uur

Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 6 november 2015, uur Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 6 november 2015, 11.00-13.00 uur Schrijf op elk ingeleverd blad je naam. Schrijf op het eerste blad ook je studentnummer en het aantal ingeleverde

Nadere informatie

Navigatie is een belangrijk onderdeel van elke website. Er

Navigatie is een belangrijk onderdeel van elke website. Er Ben Bastiaensen is leerkracht informatica aan KTA de Merodelei Turnhout SiteMapProvider uitbreiden B R E I D D E N AV I G AT I O N C O N T RO L S U I T De SiteMapProvider in ASP.NET levert een krachtige

Nadere informatie

Programmeren: Visual Basic

Programmeren: Visual Basic PETERSTUYVESANT COLLEGE INFORMATICA 2009-2010 Programmeren: Visual Basic Algemene Kennis: 01. Programmeren Programmeren is het schrijven van een computerprogramma, een concrete verzameling instructies

Nadere informatie

Visual Basic /2

Visual Basic /2 nia cvba-vso Leren programmeren in Visual Basic 2010 2/2 Roger Frans met cd-rom campinia media cvba-vso Frans, Roger Leren programmeren in Visual Basic 2010 /2 / Roger Frans; Geel: Campinia Media cvba

Nadere informatie

Uitwerking Tweede deeltentamen Imperatief programmeren - versie 1 Vrijdag 21 oktober 2016, uur

Uitwerking Tweede deeltentamen Imperatief programmeren - versie 1 Vrijdag 21 oktober 2016, uur Uitwerking Tweede deeltentamen Imperatief programmeren - versie 1 Vrijdag 21 oktober 2016, 13.00-15.00 uur 1. De situatie die ontstaat door class A : B C D; kan beschreven worden door (a) B is een A (b)

Nadere informatie

Hoofdstuk 1: Een eerste Visual Basic project

Hoofdstuk 1: Een eerste Visual Basic project Programmeren in Microsoft Visual Basic 6.0, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Marnix Gymnasium Rotterdam, februari 2001 Hoofdstuk 1: Een eerste Visual Basic

Nadere informatie

Voor de database wordt een Access 2000 bestand gebruikt, met voorlopig 1 tabel:

Voor de database wordt een Access 2000 bestand gebruikt, met voorlopig 1 tabel: Eenvoudig voorbeeld. Er wordt verondersteld dat er met VS 2008 EXPRESS gewerkt wordt. Voor de database wordt een Access 2000 bestand gebruikt, met voorlopig 1 tabel: (Sommige schermafdrukken zijn afkomstig

Nadere informatie

Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft

Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Dit

Nadere informatie

vbg.vbnet.beginner Werken met arrays en andere collecties binnen Visual Basic.NET

vbg.vbnet.beginner Werken met arrays en andere collecties binnen Visual Basic.NET Het.NET Framework is zeer goed toegerust op het gebruik van arrays en andere typen collecties. Het is, doordat er meerdere classes beschikbaar zijn, echter lastig overzicht te krijgen. Er zijn ondermeer

Nadere informatie

Enterprise Connectivity. Marnix van Bo. TU Delft Elek Software Architect 20 jaar ervarin ontwikkeling

Enterprise Connectivity. Marnix van Bo. TU Delft Elek Software Architect 20 jaar ervarin ontwikkeling Fir rst Base Enterprise Connectivity Marnix van Bo chove First Base: opgericht in 2001 TU Delft Elek ktrotechniek - 1998 Software Architect 20 jaar ervarin g met software ontwikkeling Presentatie Ideeën

Nadere informatie

6.2 VBA Syntax. Inleiding Visual Basic

6.2 VBA Syntax. Inleiding Visual Basic 6.2 VBA Syntax Wij gaan de Visual Basic Editor opnieuw openen, om de instructie die wij zojuist getypt hebben, nader te bekijken. Klik te tab Hulpmiddelen voor databases Klik op Maken Macro s en Code -

Nadere informatie

In een klassendiagram worden klassen beschreven in termen

In een klassendiagram worden klassen beschreven in termen Sander Hoogendoorn is Partner bij Ordina Patterns voor het gebruik van referenties in bedrijfsklassen G O E D G E B R U I K VA N R E F E R E N T I E S In de dagen dat applicaties voornamelijk bestonden

Nadere informatie

Labo 2 Programmeren II

Labo 2 Programmeren II Labo 2 Programmeren II L. Schoofs K. van Assche Gebruik Visual Studio 2005 om een programma te ontwikkelen dat eenvoudige grafieken tekent. Deze opgave heb je vorig academiejaar reeds in Java geïmplementeerd.

Nadere informatie

Zelftest Programmeren in Java

Zelftest Programmeren in Java Zelftest Programmeren in Java Document: n0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST PROGRAMMEREN IN JAVA Deze test

Nadere informatie

Roger Frans. Leren programmeren in. Visual Basic. deel 2. campinia media cvba-vso

Roger Frans. Leren programmeren in. Visual Basic. deel 2. campinia media cvba-vso Roger Frans Leren programmeren in 2012 deel 2 Visual Basic campinia media cvba-vso Frans, Roger Visual Basic 2012 2/2 / Roger Frans; Geel: Campinia Media cvba - vso, 2014; 269 p; index; 27,5 cm; gelijmd.

Nadere informatie

Opgaven. Python Assessment

Opgaven. Python Assessment Opgaven Python Assessment Nijmegen - Utrecht www.atcomputing.nl Copyright 2015,2016 Versie: 1a Inleiding Met dit assessment kun je controleren of je voldoende parate kennis over Python hebt om te beginnen

Nadere informatie

1 Een beetje theorie vooraf 1. Wat is een programma? 2 Hoe maakt u een programma? 3 IL-code en JIT-compiler 5

1 Een beetje theorie vooraf 1. Wat is een programma? 2 Hoe maakt u een programma? 3 IL-code en JIT-compiler 5 1 Een beetje theorie vooraf 1 Wat is een programma? 2 Hoe maakt u een programma? 3 IL-code en JIT-compiler 5 Voordelen combinatie compiler en interpreter 6 Het.NET Framework 9.NET en Java 9.NET, COM en

Nadere informatie

Leren programmeren in C# Deel 4 - Objectoriëntatie

Leren programmeren in C# Deel 4 - Objectoriëntatie Leren programmeren in C# Deel 4 - Objectoriëntatie Michiel Rotteveel Leren programmeren in C# Deel 4 - Objectoriëntatie Brinkman Uitgeverij Amsterdam 2017 Leeswijzer double gereserveerde woorden C# PictureBox

Nadere informatie

public Bier ( string N, double P, Brouwerij B) { Naam = N; AlcoholPerc = P; Brouwer = B;

public Bier ( string N, double P, Brouwerij B) { Naam = N; AlcoholPerc = P; Brouwer = B; Beschouw bijvoorbeeld de twee onderstaande klassen, waarvan de attributen en eigenschappen geannoteerd zijn met bijkomende XML-annotaties: using System ; using System. Xml ; using System. Xml. S e r i

Nadere informatie

Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, 13.30 15.30 uur

Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, 13.30 15.30 uur Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, 13.30 15.30 uur 1. deze opgave telt voor 30% van het totaal. Schrijf een compleet programma, dat door de gebruiker vanaf

Nadere informatie

Dit document bevat informatie over make bij het eerstejaars college Programmeermethoden, Universiteit Leiden, najaar 2010, zie

Dit document bevat informatie over make bij het eerstejaars college Programmeermethoden, Universiteit Leiden, najaar 2010, zie Dit document bevat informatie over make bij het eerstejaars college Programmeermethoden, Universiteit Leiden, najaar 2010, zie www.liacs.nl/home/kosters/pm/ Met dank aan allen die aan deze tekst hebben

Nadere informatie

Fun met webparts in ASP.Net

Fun met webparts in ASP.Net Fun met webparts in ASP.Net Deel 2:User controls en Webparts door Bert Dingemans, e-mail : info@dla-os.nl www : http:// 1 Inhoudsopgave FUN MET WEBPARTS IN ASP.NET... 1 DEEL 2:USER CONTROLS EN WEBPARTS...

Nadere informatie

Fun met webparts in ASP.Net

Fun met webparts in ASP.Net Fun met webparts in ASP.Net Deel 1: Basis Webparts door Bert Dingemans, e-mail : info@dla-architect.nl www : http:// 1 Inhoudsopgave FUN MET WEBPARTS IN ASP.NET... 1 DEEL 1: BASIS WEBPARTS... 1 INHOUDSOPGAVE...

Nadere informatie

Inhoud. VBA Excel 2010

Inhoud. VBA Excel 2010 Inhoud VBA Excel 2010 Inhoudsopgave 0. INSTELLINGEN EXCEL 2010... 9 1. WAT IS VISUAL BASIC FOR APPLICATIONS... 16 1.1. Achtergrond... 16 1.2. VBA is meer dan een macrotaal... 16 Case 1: Macro "Walk of

Nadere informatie

Open SQL Server Management Studio en log in als Administator. Je ziet dan wat je in figuur 2.1 ziet.

Open SQL Server Management Studio en log in als Administator. Je ziet dan wat je in figuur 2.1 ziet. Hoofdstuk 2 Een ASP.NET applicatie met ADO.NET opzetten In dit hoofdstuk ga je een eenvoudige website opzetten, waarbij je een aantal gegevens uit een database ophaalt. Je moet je kennis van ADO.NET dus

Nadere informatie

Handleiding JCreator. Inhoud. Een Workspace en een eerste project maken

Handleiding JCreator. Inhoud. Een Workspace en een eerste project maken Handleiding JCreator Inhoud Een Workspace en een eerste project maken Een tweede project maken De editor van JCreator Aanpassen van de basis-directory Documentatie over klassen en methoden van de JDK Bestand

Nadere informatie

Methods of Development

Methods of Development Methods of Development College 4 OO & Tentamenstof Arjan Scherpenisse arjan.scherpenisse@kmt.hku.nl @acscherp Deze week Object-oriëntatie Herhaling vorige week Compositie De Opdracht Tentamenstof overview

Nadere informatie

Object Oriented Programming

Object Oriented Programming Object Oriented Programming voor webapplicaties Door Edwin Vlieg Waarom OOP? Basis uitleg over OOP Design Patterns ActiveRecord Model View Controller Extra informatie Vragen OOP Object Oriented Programming

Nadere informatie

ArcGIS Mobile ADF. Smart Client Applicaties voor ArcGIS Server Eva Dienske, Wim Ligtendag

ArcGIS Mobile ADF. Smart Client Applicaties voor ArcGIS Server Eva Dienske, Wim Ligtendag ArcGIS Mobile ADF Smart Client Applicaties voor ArcGIS Server Eva Dienske, Wim Ligtendag Agenda Wat is de Mobile ADF? Architectuur Demo Wat is de mobile ADF? Ontwikkeltoolkit voor mobiele (Smart Client)

Nadere informatie

DELPHI VOOR ELEKTRONICI. Deel 2: Een rekenmachine programmeren CURSUS

DELPHI VOOR ELEKTRONICI. Deel 2: Een rekenmachine programmeren CURSUS DELPHI VOOR ELEKTRONICI CURSUS Deel 2: Een rekenmachine programmeren Herman Bulle met dank aan Anton Vogelaar In het vorige artikel hebben we de programmeeromgeving van Delphi geïntroduceerd en zijn er

Nadere informatie

Siemens workpoints en DHCP options

Siemens workpoints en DHCP options Siemens workpoints en DHCP options Dit document beschrijft de configuratie en werking van een Windows 2003 DHCP server in combinatie met Siemens optipoint en Siemens OpenStage toestellen (aangemeld op

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 11 december 2015 Ingebouwde datastructuren Meer boomstructuren Access specifiers Gebruikersinvoer Codestijl Packages SAT-solver Ingebouwde datastructuren Ingebouwde

Nadere informatie

Software Test Plan. Yannick Verschueren

Software Test Plan. Yannick Verschueren Software Test Plan Yannick Verschueren November 2014 Document geschiedenis Versie Datum Auteur/co-auteur Beschrijving 1 November 2014 Yannick Verschueren Eerste versie 1 Inhoudstafel 1 Introductie 3 1.1

Nadere informatie

ASP.NET Community Starter Kit

ASP.NET Community Starter Kit Damir Varga Accenture Technology Solutions. Met dank aan Sebastian Hek. ASP.NET Community Starter Kit B OUW JE EIGEN COMMUNITY SITE IN 5 MINUTEN Stel je eens voor dat jij en een paar vrienden dezelfde

Nadere informatie