public Bier ( string N, double P, Brouwerij B) { Naam = N; AlcoholPerc = P; Brouwer = B;
|
|
- Lennert Verhoeven
- 8 jaren geleden
- Aantal bezoeken:
Transcriptie
1 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 a l i z a t i o n ; [ XmlRoot ( b i e r t j e ) ] public class Bier { [ XmlElement ( naam ) ] public string Naam ; [ XmlElement ( percent ) ] public double AlcoholPerc ; [ XmlElement ( brouwer ) ] public Brouwerij Brouwer ; [ XmlAttribute ( s o o r t ) ] public string type { get { i f ( AlcoholPerc <= 5. 0 ) return p i n t j e ; else return s t r a f ; public Bier ( ) { public Bier ( string N, double P, Brouwerij B) { Naam = N; AlcoholPerc = P; Brouwer = B; public class Brouwerij { [ XmlAttribute ( brouwer naam ) ] public string Naam ; [ XmlElement ( brouwer l o c ) ] public string L o c a t i e ; 1
2 public Brouwerij ( ) { public Brouwerij ( string N, string L) { L o c a t i e = L ; Naam = N; De volgende Main methode zal dan twee Bieren aanmaken, en deze omzetten naar XML: Brouwerij inbev = new Brouwerij ( AB InBev, Leuven ) ; Bier s t e l l a = new Bier ( S t e l l a, 3. 0, inbev ) ; Bier l e f f e = new Bier ( L e f f e, 6. 0, inbev ) ; X m l S e r i a l i z e r s = new X m l S e r i a l i z e r ( typeof ( Bier ) ) ; s. S e r i a l i z e ( System. Console. Out, s t e l l a ) ; Console. WriteLine ( ) ; s. S e r i a l i z e ( System. Console. Out, l e f f e ) ; De geproduceerde uitvoer bestaat dan uit volgende twee XML-bestandjes: <?xml version="1.0" encoding="utf-8"?> <biertje xmlns:xsd=" xmlns:xsi=" <naam>stella</naam> <percent>3</percent> <brouwer brouwer-naam="ab InBev"> <brouwer-loc>leuven</brouwer-loc> </brouwer> </biertje> <?xml version="1.0" encoding="utf-8"?> <biertje xmlns:xsd=" xmlns:xsi=" <naam>leffe</naam> <percent>6</percent> <brouwer brouwer-naam="ab InBev"> <brouwer-loc>leuven</brouwer-loc> </brouwer> </biertje> 2.1 Het publish-subscribe patroon dmv. events Het publish-subscribe of listener patroon is één van de meest gebruikte ontwerppatronen. De kern van dit patroon is dat objecten die geïnteresseerd zijn in 2
3 de toestand van een ander object, zich bij dit andere object kunnen registeren; als dit andere object dan van toestand verandert, zal het al zijn geregistreerde luisteraars verwittigen. C#ondersteunt dit patroon dmv. een combinatie van events en delegates. Om hiervan gebruik te maken, moet je eerst een delegate declareren, die bepaald wat de signatuur van de call-back functie zal zijn, waarmee de luisteraar van verandering op de hoogte wordt gebracht. public delegate void BehandelVerandering ( object o ) ; Dit betekent dat de luisteraar-objecten deze delegate zullen moeten implementeren: public class L u i s t e r a a r { public void PrintWaarde ( object source ) {... // Implementatie van c a l l back f u n c t i e public L u i s t e r a a r (.. ) { BehandelVerandering bhv = new BehandelVerandering ( PrintWaarde ) ;... Het publisher object, dwz. het object waarnaar geluisterd wordt, kan dan gebruik maken van een datatype event BehandelVerandering. Dit datatype stelt een gebeurtenis voor, waarnaar de BehandelVerandering delegates kunnen luisteren. public class I n t e r e s s a n t O b j e c t { public event BehandelVerandering Verandering ;... Aan een dergelijke gebeurtenis kunnen dan luisteraars worden toegevoegd, met behulp van de overladen operator +=. Die luisteraar moet dan natuurlijk een delegate van het juiste type zijn. In het bovenstaande voorbeeld hadden we hiervoor de functie PrintWaarde van de klasse Luisteraar. We kunnen deze dan als volgt koppelen aan het event, bijvoorbeeld in de constructor van e klasse Luisteraar: public L u i s t e r a a r ( I n t e r e s s a n t O b j e c t obj ) { BehandelVerandering bhv = new BehandelVerandering ( PrintWaarde ) ; obj. Verandering += bhv ; Een event is zelf op zijn beurt ook weer een delegate, dwz. dat het eigenlijk een functie is die je kan oproepen. Het effect hiervan zal zijn dat het event al zijn geregistreerde luisteraars verwittigt. Onderstaande code, bijvoorbeeld, zal 3
4 ervoor zorgen dat de luisteraars verwittigd worden telkens de waarde van de property Getal van het InteressantObject verandert. public class I n t e r e s s a n t O b j e c t { public event BehandelVerandering Verandering ; private int g e t a l ; public int Ge ta l { get { return g e t a l ; s e t { g e t a l = value ; Verandering ( this ) ;... Heel ons voorbeeld samen genomen, genereert de volgende Main methode: I n t e r e s s a n t O b j e c t i = new I n t e r e s s a n t O b j e c t ( ) ; L u i s t e r a a r l = new L u i s t e r a a r ( i ) ; i. Getal++; i. Getal++; i. Getal++; nu deze uitvoer: WinForms De naamruimte System.Windows.Forms bevat klassen die gebruikt kunnen worden voor het maken van een grafische user interface. In de naamruimte System.Drawing zitten ook nog een aantal klassen die daarbij van pas komen: deze gaan dan bijvoorbeeld over coördinaten of afmetingen. Volgende code toont een eenvoudig schermpje met daarop een begroetende boodschap. using System ; using System. Windows. Forms ; using System. Drawing ; public class V e n s t e r t j e : Form { 4
5 private Label boodschap ; public V e n s t e r t j e ( ) { boodschap = new Label ( ) ; boodschap. Text = Hallo daar ; Controls. Add( boodschap ) ; Text = Begroeting ; S i z e = new S i z e ( 2 0 0, ) ; A p p l i c a t i o n. Run(new V e n s t e r t j e ( ) ) ; 3.1 Knopjes met gedrag Een knop wordt logisch genoeg gemaakt met behulp van de klasse Button. Om gedrag te koppelen aan een knop, wordt gebruik gemaakt van het publishsubscribe patroon, zoals geïmplementeerd met delegates en events. Concreet declareert men volgende delegate: public delegate void EventHandler ( object source, EventArgs args ) ; Met andere worden, de functies die je aan een knop kan koppelen moeten dus als argumenten een object (= de knop waarop geklikt werd) en een EventArgs (= mogelijke bijkomende argumenten) nemen. Hier is een voorbeeld van een dergelijke functie: public void foo ( object src, EventArgs args ) { Console. WriteLine ( Er werd op \ {0\ g e k l i k t, s r c ) ; De klasse Button voorziet nu volgend event, waaraan dergelijke EventHandlerdelegates gekoppeld kunnen worden: public class Button { public event EventHandler C lick ;... Met andere woorden, de koppeling van gedrag een knop gebeurt dus zo: Button knop = new Button ( ) ; knop. C l i c k += new EventHandler ( foo ) ; 5
6 3.2 Andere invoer elementen Een tekstveldje wordt gemaakt met de klasse TextBox. De tekst die de gebruiker invoert komt terecht in het attribuut Text. Een checkboxje wordt gemaakt met de klasse CheckBox. Het attribuut Checked geeft dan aan of deze checkbox al dan niet aangevinkt is. Een radiobutton wordt gemaakt met de klasse RadioButton. Radiobuttons die samenhoren, moeten natuurlijk gegroepeerd worden; dit kan bijvoorbeeld met een GroupBox. Onderstaand voorbeeld illustreert deze elementen. using System ; using System. Windows. Forms ; using System. Windows. Forms. Layout ; using System. Drawing ; public class V e n s t e r t j e : Form { private Label boodschap ; private Button knop ; private TextBox t e k s t ; private CheckBox cb ; private RadioButton rb1 ; private RadioButton rb2 ; private GroupBox gb ; public V e n s t e r t j e ( ) { Text = Begroeting ; boodschap = new Label ( ) ; boodschap. Text = Hallo daar ; boodschap. Location = new Point ( 1 0, 1 0 ) ; boodschap. S i z e = new S i z e ( 1 0 0, 3 0 ) ; Controls. Add( boodschap ) ; knop = new Button ( ) ; knop. Text = Klik mij ; knop. Location = new Point ( 1 0, 5 0 ) ; knop. S i z e = new S i z e ( 1 0 0, 3 0 ) ; knop. C l i c k += new EventHandler ( foo ) ; Controls. Add( knop ) ; t e k s t = new TextBox ( ) ; t e k s t. Location = new Point ( 1 0, 9 0 ) ; t e k s t. S i z e = new S i z e ( 1 0 0, 3 0 ) ; Controls. Add( t e k s t ) ; cb = new CheckBox ( ) ; cb. Text = I n g e n i e u r ; 6
7 cb. S i z e = new S i z e ( 1 0 0, 3 0 ) ; cb. Location = new Point ( 1 0, ) ; Controls. Add( cb ) ; gb = new GroupBox ( ) ; gb. S i z e = new S i z e ( 1 2 0, 8 0 ) ; gb. Location = new Point ( 1 0, ) ; gb. Text = Geslacht ; rb1 = new RadioButton ( ) ; rb1. Text = man ; rb1. S i z e = new S i z e ( 1 0 0, 3 0 ) ; rb1. Location = new Point ( 1 0, 2 0 ) ; rb2 = new RadioButton ( ) ; rb2. Text = vrouw ; rb2. S i z e = new S i z e ( 1 0 0, 3 0 ) ; rb2. Location = new Point ( 1 0, 5 0 ) ; gb. Controls. Add( rb1 ) ; gb. Controls. Add( rb2 ) ; Controls. Add( gb ) ; S i z e = new S i z e ( 2 0 0, ) ; A p p l i c a t i o n. Run(new V e n s t e r t j e ( ) ) ; public void foo ( object o, EventArgs e ) { Console. Write ( U z e i \ {0\,, t e k s t. Text ) ; Console. Write ( rb1. Checked? meneer : mevrouw ) ; i f ( cb. Checked ) Console. Write ( de i n g e n i e u r ) ; Console. WriteLine ( ) ; 3.3 Dialoogjes Om de gebruiker kort om wat bijkomende informatie te vragen, kunnen subklassen van System.Windows.Forms.CommonDialog gebruikt worden. In deze klasse zit er een methode ShowDialog, die dient om de dialoog effectief op het scherm te brengen. using System ; using System. Drawing ; using System. Windows. Forms ; 7
8 public class DialoogTest : Form { public void ToonDialoog ( object o, EventArgs e ) { OpenFileDialog f i l e = new OpenFileDialog ( ) ; DialogResult r e s u l t = f i l e. ShowDialog ( ) ; i f ( r e s u l t == DialogResult.OK) { MessageBox. Show( U koos voor bestand + f i l e. FileName ) ; public DialoogTest ( ) { Button b = new Button ( ) ; b. Text = Dialoog ; b. C l i c k += new EventHandler ( ToonDialoog ) ; Controls. Add( b ) ; A p p l i c a t i o n. Run(new DialoogTest ( ) ) ; 3.4 Data binding In het MVC paradigma, staat de View component in voor visualisatie van een bepaalde gegevens uit de Model component. Het is dus, met andere woorden, de bedoeling dat GUI elementen uit de View op één of andere manier gekoppeld worden aan achterliggende datastructuren uit het Model. C#voorziet hiervoor zogenaamde Data Bindings. De GUI-elementjes hebben een property DataBindings waarin gegevens kunnen worden toegevoegd. Dit gebeurt bijvoorbeeld als volgt: Label t e k s t = new Label ( ) ; Binding b = new Binding ( Text, l i j s t, ) ; t e k s t. DataBindings. Add( b ) ; Hiermee wordt de property Text van het label tekst gekoppeld aan de variabele lijst. Er zijn twee soorten van objecten die kunnen dienen als gegevensbron voor een dergelijke binding: lijsten (dwz. alles wat de interface IList implementeert) en ADO.NET databank objecten. Voorlopig kijken we naar het eerste geval en beschouwen een databron die bestaat uit een lijst van strings: private I L i s t l i j s t ; private void I n i t L i j s t ( ) { l i j s t = new S t r i n g C o l l e c t i o n ( ) ; l i j s t. Add( Morgen ) ; 8
9 l i j s t. Add( Middag ) ; l i j s t. Add( Avond ) ; l i j s t. Add( Nacht ) ; Het effect van de databinding is dat de tekst van het label genomen wordt uit de lijst van strings. Achter de schermen wordt een object, de CurrencyManager, aangemaakt dat instaat voor deze link. Initiëel zal de tekst van het label overeenkomen met de 1 e string uit de lijst. Om ook de andere strings aan bod te laten komen, kunnen we de CurrencyManager aanspreken: deze heeft immers een property Position die aangeeft welk van de vier string getoond wordt. Het Form waarin het Label zich bevindt, heeft een property BindingContext, die verwijzingen bijhoudt naar alle CurrencyManagers. Deze BindingContext gedraagt zich als een hash-tabel, die geïndexeerd kan worden met de gegevensbron (lijst in ons geval), waarvoor we de CurrencyManager willen hebben. 1 Om een lang verhaal kort te maken, kunnen we dus als volgt overgaan naar de volgende string: CurrencyManager cm = ( CurrencyManager ) BindingContext [ l i j s t ] ; cm. P o s i t i o n ++; In onderstaand voorbeeld wordt deze functionaliteit gekoppeld aan een knop op de GUI: using System ; using System. Windows. Forms ; using System. Drawing ; using System. C o l l e c t i o n s ; using System. C o l l e c t i o n s. S p e c i a l i z e d ; public class Venster : Form { private Label t e k s t ; private Button knop ; private I L i s t l i j s t ; private void I n i t L i j s t ( ) { l i j s t = new S t r i n g C o l l e c t i o n ( ) ; l i j s t. Add( Morgen ) ; l i j s t. Add( Middag ) ; l i j s t. Add( Avond ) ; l i j s t. Add( Nacht ) ; 1 Merk op dat er één CurrencyManager is per gegevensbron. Als meerdere UI elementen gelinkt zijn met dezelfde gegevensbron, zullen deze dus allemaal veranderen wanneer we overgaan naar een volgende string. 9
10 private void I n i t U I ( ) { t e k s t = new Label ( ) ; knop = new Button ( ) ; knop. Text = Volgende ; t e k s t. S i z e = new S i z e ( 1 0 0, 3 0 ) ; knop. S i z e = new S i z e ( 1 0 0, 3 0 ) ; t e k s t. Location = new Point ( 1 0, 1 0 ) ; knop. Location = new Point ( 1 0, 6 0 ) ; S i z e = new S i z e ( 2 0 0, ) ; Controls. Add( t e k s t ) ; Controls. Add( knop ) ; knop. C l i c k += new EventHandler ( Volgende ) ; public void Volgende ( object o, EventArgs e ) { CurrencyManager cm = ( CurrencyManager ) BindingContext [ l i j s t ] ; cm. P o s i t i o n ++; public Venster ( ) { I n i t L i j s t ( ) ; I n i t U I ( ) ; Binding bind = new Binding ( Text, l i j s t, ) ; t e k s t. DataBindings. Add( bind ) ; A p p l i c a t i o n. Run(new Venster ( ) ) ; 10
return an ; } private I L i s t l i j s t ;
In bovenstaande code werd de binding t e k s t. DataBindings. Add(new Binding ( Text, l i j s t, ) ) ; gebruikt om de eigenschap Text van het object tekst (dwz. tekst.text) te binden aan het object lijst.
Nadere informatieKlassen & 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 informatieIMP 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 informatieProgrammeren 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 informatieDerde deeltentamen Imperatief programmeren - versie 1 Vrijdag 11 november 2016, uur
Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 11 november 2016, 8.30 10.30 uur Schrijf op elk ingeleverd blad je naam. Schrijf op het eerste blad ook je studentnummer en het aantal ingeleverde
Nadere informatieDatatypes 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 informatieWindows-applicatie. using System.Windows.Forms; using System.Drawing; class HalloWin1 { static void Main ( )
Windows-applicatie using System.Windows.Forms; using System.Drawing; class HalloWin1 { static void Main ( ) { Form scherm; declaratie en toekenning van een variabele met type Form scherm = new Form( );
Nadere informatieLabo 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 informatieInformatica: C# WPO 2
Informatica: C# WPO 2 1. Inhoud If, globale variabelen, debuggen, randomgetallen, strings vergelijken 2. Oefeningen Demo 1: Deelbaar door 0 Demo 2: Kassa Demo 3: Debug oplossingen demo s 1 en 2 A: Verschillend
Nadere informatieProgrammeren in C# Samenvatting van C#
Programmeren in C# Samenvatting van C# Proceduraal Programmeren Functies (O: void + return, I: referentie of value) Arrays, Lijsten Lussen (for, while, do while) Condities, if-else, switch Variabelen,
Nadere informatieSyntax van opdracht. opdracht. expressie. variabele. = expressie ; klasse naam. methode naam. property naam += object
Syntax van opdracht opdracht klasse naam methode naam ( expressie ) ; object expressie. property naam +=, variabele = expressie ; Static gewone methoden Bewerken een object Aanroep: object. methode ( )
Nadere informatieOm de libraries te kunnen gebruiken, moet de programmeur (een deel van) zijn programma in C/C++ schrijven.
1 Inleiding tot.net Software werd en wordt meestal geschreven in C of C++. De broncode van een C/C++ programma wordt dan gecompileerd naar machine code, die eventueel nog gelinkt wordt met machine code
Nadere informatieModelleren 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 informatieEen 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 informatieTentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft
Tentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Digitale
Nadere informatieUitwerking Eerste deeltentamen Mobiel programmeren - versie 1 Vrijdag 23 december 2016, uur
Uitwerking Eerste deeltentamen Mobiel programmeren - versie 1 Vrijdag 23 december 2016, 11.00-13.00 uur 1. Een klasse is niet: (a) het type van een object (b) een groepje methoden (c) een groepje variabelen
Nadere informatieVakgroep 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 informatieTweede deeltentamen Imperatief programmeren versie 1 Vrijdag 20 oktober 2017, uur
Tweede deeltentamen Imperatief programmeren versie 1 Vrijdag 20 oktober 2017, 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 informatie4 ASP.NET MVC. 4.1 Controllers
4 ASP.NET MVC ASP.NET is het.net raamwerk voor het bouwen van webapplicaties. De MVC variant hiervan is speciaal ontworpen voor het bouwen van dergelijke applicaties volgens het Model-View-Controller paradigma.
Nadere informatieVoor 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 informatieUitwerking 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 informatieOefeningen Jaarproject I
Oefeningen Jaarproject I Deze oefeningenreeks behandelt de grafische Scheme bibliotheek die jullie mogen gebruiken voor de implementatie van het Pacman spel. De bibliotheek i is een evaluator voor Scheme
Nadere informatiehttp://www.liacs.nl/home/kosters/java/
sheets Programmeren 1 Java college 2, Walter Kosters De sheets zijn gebaseerd op de hoofdstukken 2 tot en met 6 van: D. Bell en M. Parr, Java voor studenten, Prentice Hall, 2002 http://www.liacs.nl/home/kosters/java/
Nadere informatieUitwerkingen Tweede deeltentamen Imperatief programmeren Vrijdag 15 oktober 2010, 11.00-13.00 uur
Uitwerkingen Tweede deeltentamen Imperatief programmeren Vrijdag 15 oktober 2010, 11.00-13.00 uur 1. (2 punten per deelvraag) Deze opgave bestaat uit een aantal tekstvragen. Houd het antwoord kort: een
Nadere informatieHoofdstuk 4: Nieuwe objecten
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 informatiepublic Paneel() { knop = new JButton( Klik ); knop.addactionlistener( new KnopHandler() ); tekstvak = new JTextField(10); add(knop); add(tekstvak);
Vaknaam: Programmeren I (Java) - Tentamen Module: 2 Datum/Tijd: 17 mrt 2015 / 18.30 20:30 Richting: ICT Code: IC011 Docent: E. Lieuw Boeken en aantekeningen NIET toegestaan. Kladpapier is wel toegestaan.
Nadere informatieOpdrachten herhalen. public void tekenscherm (object o, PEA pea) { int x; x = 1; zolang de voorwaarde geldig is
Opdrachten herhalen public void tekenscherm (object o, PEA pea) { int x; x = 1; while ( x
Nadere informatieParallelle 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 informatieAbstracte 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 informatieZelftest 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 informatieProgrammeren in C++ Efficiënte zoekfunctie in een boek
Examen Software Ontwikkeling I 2e Bachelor Informatica Faculteit Wetenschappen Academiejaar 2010-2011 21 januari, 2011 **BELANGRIJK** 1. Lees eerst de volledige opgave (inclusief de hints/opmerkingen)!
Nadere informatievoegtoe: eerst methode bevat gebruiken, alleen toevoegen als bevat() false is
PROEF-Tentamen Inleiding programmeren (IN1608WI), X januari 2010, 9.00-11.00, Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Open boek tentamen: bij het tentamen mag alleen gebruik worden gemaakt
Nadere informatieFormulieren maken met Dreamweaver CS 4
Formulieren maken met Dreamweaver CS 4 In deze handleiding leer je om een formulier en elementen die je binnen een formulier kunt gebruiken, te ontwerpen met Dreamweaver. Het uitgangspunt is dat dit zoveel
Nadere informatieprogrammeren Mobiel Mobilofoon 1960 Apple iphone 2007 met ios Nokia Samsung S met Android Motorola Dyna-Tac 1973
Mobiel programmeren Mobilofoon 1960 Nokia 3310 2000 Apple iphone 2007 met ios Motorola Dyna-Tac 1973 Samsung S7 2016 met Android Programmeertalen Fortran Basic C++ C# Android Algol C Java... 1950 1960
Nadere informatieTutorial 1, Delphi: Geldspraak
Tutorial 1, Delphi: Geldspraak Versie Datum Auteurs Opmerkingen 1 25-09-2001 Kees Hemerik (code) Gebaseerd op Delphi 5 Enterprise. Roel Vliegen (tekst) 2 17-03-2005 Kees Hemerik Aanpassingen: Delphi 7,
Nadere informatieData binding revival. Hoe een lelijk eendje toch een zwaan werd
Data binding revival Hoe een lelijk eendje toch een zwaan werd Eerlijk zeggen, wie trekt nu al zijn neus op bij het lezen van het begrip data binding? Elke programmeur die het tijdperk meegemaakt heeft
Nadere informatieModelleren & 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 informatieTweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, uur
Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, 8.30-10.30 uur Schrijf op elk ingeleverd blad je naam. Schrijf op het eerste blad ook je studentnummer en het aantal ingeleverde
Nadere informatieOvererving & Polymorfisme
Overerving & Polymorfisme Overerving Sommige klassen zijn speciaal geval van andere klasse Docent is een speciaal geval van werknemer, dwz. elke docent is ook werknemer Functionaliteit van docent = functionaliteit
Nadere informatieUitwerking Tweede deeltentamen Imperatief programmeren Vrijdag 21 oktober 2011, uur
Uitwerking Tweede deeltentamen Imperatief programmeren Vrijdag 21 oktober 2011, 11.00-13.00 uur 1. Deze opgave bestaat uit een aantal tekstvragen. Houd het antwoord kort: een of twee zinnen per onderdeel
Nadere informatieUniversiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren
Universiteit van Amsterdam FNWI Voorbeeld van tussentoets Inleiding programmeren Opgave 1: Wat is de uitvoer van dit programma? public class Opgave { static int i = 0 ; static int j = 1 ; int i = 1 ; int
Nadere informatieDerde 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 informatieWat is een grafische gebruikersinterface (GUI)?
Wat is een grafische gebruikersinterface (GUI)? GUI is een Engelse afkorting voor Graphical User Interface, oftewel grafische gebruikersinterface. Het is de term voor het bedieningspaneel van een computerprogramma.
Nadere informatieVisual 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 informatieImplementatie AssurePay ASP.NET. ideal
Implementatie AssurePay ASP.NET ideal Implementatie AssurePay ASP.NET 2 van 11 Inhoudsopgave Microsoft ASP.NET... 3 Classic ASP... 9 Implementatie AssurePay ASP.NET 3 van 11 Microsoft ASP.NET Implementeren
Nadere informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 13 november 2015 Expressies Functies Ingebouwde functies Variabelenbereik Inleveropgave 1 Terugblik Programma is een lijst van opdrachten Terugblik Programma is
Nadere informatieProgrammeren: 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 informatieAPPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN. Onderdeel van SmartProducts
APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN Onderdeel van SmartProducts INHOUD COLLEGE 3 Scope van variabelen {3.9} Class ontwerpen en maken,
Nadere informatieTentamen 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 informatieObjectgeorï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 informatieMijn 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 informatieMet een LightSwitch applicatie een OData service uit de Windows Azure Marketplace consumeren
Met een LightSwitch applicatie een OData service uit de Windows Azure Marketplace consumeren Om eens wat ervaring op te doen met de Windows Azure Marketplace heb ik een publieke en gratis databron gekozen
Nadere informatieNAAM: Programmeren 1 Examen 21/01/2011
Programmeren 1 21 januari 2011 Prof. T. Schrijvers Instructies Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien). Geef ook je kladbladen af. Bij heel wat vragen moet
Nadere informatieEen 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 informatieExamen 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 informatieLeren programmeren in C# Deel 2 - Gegevens
Michiel Rotteveel Leren programmeren in C# Deel 2 - Gegevens Errata 1e druk Brinkman Uitgeverij Amsterdam 2017 Deze errata horen bij Leren programmeren in C#: Deel 2 Gegevens, isbn 978 90 5752 342 7 /
Nadere informatieFormulieren maken met Dreamweaver CS 4/CS 5
Formulieren maken met Dreamweaver CS 4/CS 5 In deze handleiding leer je om een formulier en elementen die je binnen een formulier kunt gebruiken, te ontwerpen met Dreamweaver. Het uitgangspunt is dat dit
Nadere informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 6 december 2013 Terugblik Programma en geheugen Opdrachten Variabelen Methoden Objecten Klasse Programma en geheugen Opdrachten Variabelen zijn gegroepeerd in
Nadere informatieSYNTRA-WEST. Initiatiecursus JAVA. Deel
SYNTRA-WEST Initiatiecursus JAVA Deel Syntra-West Syntra-West (vroeger Vormingsinstituut West-Vlaanderen) Doorniksesteenweg 220 8500 Kortrijk Tel. 056/26.02.00 Fax 056/22.81.07 i Inhoudsopgave SYNTRA-WEST...
Nadere informatieEen 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 informatie1. Inleiding van het.net programmeerplatform
1. Inleiding van het.net programmeerplatform In deze module ga je kennis maken met een programmeeromgeving dat voor de meesten van jullie nieuw is, namelijk: het.net programmeer platform (.NET spreek je
Nadere informatieBeginselen van programmeren Practicum 1 (Doolhof) : Oplossing
Beginselen van programmeren Practicum 1 (Doolhof) : Oplossing Introductie In dit document geven we een mogelijke oplossing voor het eerste practicum. Deze oplossing gebruikt verschillende klassen en overerving,
Nadere informatieIn de tweede regel plaatsen we in het gereserveerde stukje geheugen een getal.
4. Array s Een array is een geïndexeerde variabele. Deze zin zal de nodig vragen oproepen, waarop enige uitleg van toepassing is. Met variabelen hebben we al kennis gemaakt. In een variabele kun je iets
Nadere informatieGrafisch programmeren met GTK
LinuxFocus article number 295 http://linuxfocus.org Grafisch programmeren met GTK door Özcan Güngör Over de auteur: Sinds 1997 gebruik ik Linux. Vrijheid, flexibiliteit en
Nadere informatieAccess 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 informatieLab Webdesign: Javascript 7 april 2008
H8: FORMULIEREN In dit hoofdstuk komt het "form"-object aan de orde: we zullen zien hoe we JavaScript kunnen gebruiken voor het manipuleren en valideren van de gegevens die een eindgebruiker invult in
Nadere informatieUitwerking Tweede deeltentamen Imperatief programmeren versie 1 Vrijdag 20 oktober 2017, uur
Uitwerking Tweede deeltentamen Imperatief programmeren versie 1 Vrijdag 20 oktober 2017, 11.00-13.00 uur 1. In een constructormethode (a) moet je een nieuw object van de klasse aanmaken (b) kun je membervariabelen
Nadere informatieKatholieke Hogeschool Kempen ASP
Katholieke Hogeschool Kempen Campus Geel Departement Handelswetenschappen en Bedrijfskunde 3de jaar Toegepaste Informatica ASP www.projectchatroom.be Yorkim Parmentier 3TI4 Andy Geluykens 3TI4 Academiejaar
Nadere informatieOmschrijf bij ieder onderdeel van de methode de betekenis ervan. Java kent twee groepen van klassen die een GUI kunnen maken: awt en swing.
irkel (met Jpanel) ij de onderstaande opdracht behoort het bestand Panels: JPanels_1.java (map Panel) in de map irkel. pplicaties in Java hebben altijd een publieke klasse waarin een methode main voorkomt.
Nadere informatieint getaantalpassagiers{): void setaantalpassagiers(int aantalpassagiers);
bestand voertuig.h biz. 1 van 2 #ifndef VOERTUIG H #define VOERTUIG H #include using std::string; class Voertuig { public: Voertuig(); Voertuig(const string& inschrijvingsnumrner, const string&
Nadere informatieVersie 2: B C D D A C D A C C. Versie 3: C D A A B D A B D D. Versie 4: A D C C B D C B D D. Versie 5: B A D D C A D C A A
Uitwerking Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 1 februari 2019, 11.00 13.00 uur Voor de meerkeuzevragen hebben we verschillende versies. Dit zijn de juiste antwoorden per versie.
Nadere informatieInhoudsopgave. Hoofdstuk 1.RMI...2
- CORBA Inhoudsopgave Hoofdstuk 1.RMI...2 1.1.Inleiding...2 1.2.De remote...4 1.3.Het remote...5 1.4.De server...6 1.5.De server opstarten...8 1.6.De client applicatie...8 1.7.De stub en skeleton en...10
Nadere informatieUitwerking Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, uur
Uitwerking Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, 8.30-10.30 uur 1. Een Intent-object wordt gebruikt voor communicatie (a) van een Activity naar een bijbehorende View
Nadere informatieDerde deeltentamen Imperatief programmeren - versie 1 Vrijdag 10 november 2017, uur
Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 10 november 2017, 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 informatieFun 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 informatieProgrammeren in Java les 3
4 september 2015 Deze les korte herhaling vorige week loops methodes Variabelen Soorten variabelen in Java: integer: een geheel getal, bijv. 1,2,3,4 float: een gebroken getal, bijv. 3.1415 double: een
Nadere informatieUitwerkingen Derde deeltentamen Imperatief programmeren Vrijdag 12 november 2010, uur
1. (telt voor 20%) Uitwerkingen Derde deeltentamen Imperatief programmeren Vrijdag 12 november 2010, 8.30-10.30 uur Bij het spel Reversi leggen twee spelers om de beurt een gekleurde steen op een veld
Nadere informatieAPPLICATIEBOUW 2E COLLEGE: ONTWERPEN, GEBRUIKERSINTERFACES, VARIABELEN & EXPRESSIES. Onderdeel van SmartProducts
APPLICATIEBOUW 2E COLLEGE: ONTWERPEN, GEBRUIKERSINTERFACES, VARIABELEN & EXPRESSIES Onderdeel van SmartProducts INHOUD COLLEGE 2 module4.io.utwente.nl/applicatiebouw Software ontwerpen Gebruikersinterfaces,
Nadere informatie1 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 informatieIngebouwde klassen & methodes
Ingebouwde klassen & methodes Statische methodes Methodes die bij een klasse horen ipv. bij een object public class Docent { public static Docent departementshoofd() { return new Docent("Jan Ivens"); private
Nadere informatieb.text = "Rol!"; b.location = new Point(100, 0); b.click += this.rol; this.paint += this.teken;
Tweede deeltentamen Imperatief programmeren Vrijdag 18 oktober 2013, 11.00-13.00 uur Schrijf op elk ingeleverd blad je naam. Schrijf op het eerste blad ook je studentnummer en het aantal ingeleverde bladen.
Nadere informatieApplicaties met een grafische user-interface
Hoofdstuk 1 Applicaties met een grafische user-interface 1.1 Het MVC paradigma Om code te verkrijgen die onderhoudbaar en herbruikbaar is, is het van groot belang dat GUI code strikt gescheiden wordt van
Nadere informatieHoofdstuk 2: Werken met variabelen
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 informatieProgrammeren 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 informatieUitwerking Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 11 november 2016, uur
Uitwerking Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 11 november 2016, 8.30 10.30 uur Schrijf op elk ingeleverd blad je naam. Schrijf op het eerste blad ook je studentnummer en het
Nadere informatieDeel 1 : Gesloten Boek
Naam : EXAMEN SOFTWAREONTWIKKELING 1STE PROEF BURG. IR. COMPUTERWETENSCHAPPEN EERSTE EXAMENPERIODE ACADEMIEJAAR 2004-2005 Deel 1 : Gesloten Boek 1. Testen Geef een overzicht van de verschillende testen
Nadere informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 13 december 2013 Terugblik Fibonacci public class Fibonacci { public static void main(string[] args) { // Print het vijfde Fibonaccigetal System.out.println(fib(5));
Nadere informatieFile Uploads met standaard ASP.NET
File Uploads met standaard ASP.NET In deze tutorial gaan we een aspx pagina maken (met codebehind), waarmee je een bestand kan uploaden naar de webserver. Noot: de hier beschreven code gaat niet in op
Nadere informatieDesign patterns Startbijeenkomst
Design patterns Startbijeenkomst Harrie Passier Docenten Sylvia Stuurman (1 e examinator) Sylvia.Stuurman@ou.nl Harrie Passier (2 e examinator) Harrie.Passier@ou.nl Aarzel niet vragen te stellen! Rooster
Nadere informatieInhoudsopgave. Deel 1: Introductie
v Inhoudsopgave Deel 1: Introductie Inleiding Deel 1: Introductie 3 Hoofdstuk 1 De programmeeromgeving (IDE) 5 Wat is een IDE? 5 Opstarten 5 Naam geven 7 Spelregels naamgeving 8 De IDE 9 Je eerste programma
Nadere informatieActivity. Bij het starten van een app: Operating system maakt een Activity -object aan. en neemt dat onderhanden met de methode OnCreate( )
Activity Bij het starten van een app: Operating system maakt een Activity -object aan en neemt dat onderhanden met de methode OnCreate( ) Klasse uit library Android.App Methode uit klasse Activity eigen
Nadere informatieAPPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN. Onderdeel van SmartProducts
APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN Onderdeel van SmartProducts INHOUD COLLEGE 3 Software specificaties (DPU1) Object georiënteerd programmeren,
Nadere informatieOpen 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 informatieObjectgeorië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 informatiewww.ikdoeict.be DATA BINDING Hans Gruyaert en Rogier van der Linde 2009-2010
www.ikdoeict.be DATA BINDING Hans Gruyaert en Rogier van der Linde 2009-2010 Inleiding Data Binding Koppelen van data uit een databron aan webcontrols Webcontrols: DropDownList, RadioButtonList, GridView,
Nadere informatieOpdracht 7a. Applicatiebouw 2014/2015
Applicatiebouw 2014/2015 Opdracht 7a Inhoud Applicatiebouw op dag 7 College In het college wordt oa. overerving behandeld, waarmee je uit een bestaande klasse een nieuwe andere klasse kan maken. Ook zijn
Nadere informatieHoofdstuk 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 informatieDergelijke functionaliteit kunnen we zelf ook aan eigen code toevoegen.
Indexers in C#.Net In deze tutorial ga ik het hebben over indexers. Bij het gebruik van bijvoorbeeld een ArrayList object, kan je de gegevens uit deze collectie opvragen als ware het een array. // ArrayList
Nadere informatieInhoud Inhoud. Over dit boek 7. 1 Eclipse IDE (Integrated Development Environment) 9. 2 Functionele specificatie 13
5 Inhoud Inhoud Over dit boek 7 1 Eclipse IDE (Integrated Development Environment) 9 2 Functionele specificatie 13 3 Implementatie grafische gebruikersinterface 31 4 De klassen en methoden 57 5 Technische
Nadere informatieZo vind u hierin de volgende documentatie over de klasse Applet: +----java.awt.panel. +----java.applet.applet
VII. De Java-klassen A. Package Het mooie aan Java is de programmeur een hele serie van klassen en afgeleide klassen geleverd worden, die de programmeur naar behoefte kan gebruiken. De basisklasse van
Nadere informatie