Download de presentatie
De presentatie wordt gedownload. Even geduld aub
1
Hoofdstuk 2 Hallo, C# !
2
Soorten programma’s Console- applicatie
3
Soorten programma’s Console- applicatie Windows- applicatie
4
Soorten programma’s Console- applicatie Windows- applicatie
Web- applicatie
5
Soorten programma’s Console- applicatie Windows- applicatie
Web- applicatie Game
6
Soorten programma’s Console- applicatie Windows- applicatie
Web- applicatie Game Applet
7
Soorten programma’s Console- applicatie Windows- applicatie
Web- applicatie Game Applet App
8
Opbouw broncode Opdrachten om het geheugen te veranderen
Opdrachten zijn gegroepeerd in methoden Methoden zijn gegroepeerd in klassen
9
Soorten opdrachten Toekennings -opdracht: verander het geheugen
Aanroep van een andere methode: voer eerst de opdrachten in die methode uit, en ga daarna verder waar je gebleven was en dat kunnen zelf ook weer aanroepen zijn van weer andere methodes... dus de “waar was ik gebleven” administratie is best ingewikkeld!
10
Voorbeeld C#-programma
using System; class Hallo { static void Main ( ) { Console.WriteLine("Hallo!"); Console.ReadLine( ); } één klasse ...met één methode ...met twee opdrachten accolades begrenzen klasse, resp. methode
11
Klasse- en methode-header
using System; class Hallo { static void Main ( ) { Console.WriteLine("Hallo!"); Console.ReadLine( ); } naam: bedacht door de programmeur naam: bedacht door de programmeur één van de methodes moet Main heten Main
12
Opdracht: methode-aanroep
using System; class Hallo { static void Main( ) { Console.WriteLine("Hallo!"); Console.ReadLine( ); } opdrachten: aanroep van andere methoden klasse waaruit de methode komt altijd een punt naam van de methode overige details
13
Klasse-bibliotheken library-klassen mag je gebruiken... using System;
class Hallo { static void Main( ) { Console.WriteLine("Hallo!"); Console.ReadLine( ); } als je ze maar aangeeft in welke library ze staan
14
Methode-header en -aanroep
using System; class Hallo { static void Main( ) { Console.WriteLine("Hallo!"); Console.ReadLine( ); } methode- header methode- aanroep
15
Syntax en semantiek Syntax: de vorm van het programma
Semantiek: wat het programma betekent compilatie eenheid using ; klasse declaratie library naam
16
Syntax van klasse-declaratie
public private : naam class naam { member }
17
Syntax van member member type void naam ( type naam ) blok , public
private static type void naam ( type naam ) blok ,
18
Syntax van blok blok declaratie { } opdracht
19
Syntax van opdracht opdracht naam naam ( expressie ) ; . , expressie
klasse naam methode naam ( expressie ) ; . , object expressie property naam += variabele = expressie ;
20
Syntax van opdracht opdracht naam naam ( expressie ) ; . , expressie
klasse naam methode naam ( expressie ) ; . , object expressie property naam += variabele = expressie ;
21
Console-applicatie using System; class Hallo2 { static void Main ( ) {
Console.WriteLine("Hallo!"); Console.ReadLine( ); }
22
Toekennings-opdracht geeft een waarde aan een variabele
Console-applicatie using System; class Hallo2 { static void Main ( ) { Console.WriteLine("Wat is je naam?"); naam = Console.ReadLine( ); } Toekennings-opdracht geeft een waarde aan een variabele
23
Declaratie introduceert een variabele van een bepaald type
Console-applicatie using System; class Hallo2 { static void Main ( ) { string naam; Console.WriteLine("Wat is je naam?"); naam = Console.ReadLine( ); } Declaratie introduceert een variabele van een bepaald type
24
gebruik van de variabele
Console-applicatie using System; class Hallo2 { static void Main ( ) { string naam; Console.WriteLine("Wat is je naam?"); naam = Console.ReadLine( ); Console.WriteLine("Hallo, " + naam + "!"); } gebruik van de variabele
25
Property van een object
Console-applicatie using System; class Hallo2 { static void Main ( ) { string naam; Console.WriteLine("Wat is je naam?"); naam = Console.ReadLine( ); Console.WriteLine("Hallo, " + naam + "!"); Console.WriteLine("met " + naam.Length + " letters."); } Property van een object
26
Console-applicatie using System; class Hallo2 { static void Main ( )
{ string naam; Console.WriteLine("Wat is je naam?"); naam = Console.ReadLine( ); Console.WriteLine("Hallo, " + naam + "!"); Console.WriteLine("met " + naam.Length + " letters."); Console.ReadLine( ); }
27
Syntax van opdracht opdracht naam naam ( expressie ) ; . , expressie
klasse naam methode naam ( expressie ) ; . , object expressie property naam += variabele = expressie ;
28
Syntax van opdracht opdracht naam naam ( expressie ) ; . , expressie
klasse naam methode naam ( expressie ) ; . , object expressie property naam += toekenning variabele = expressie ;
29
Syntax van declaratie declaratie type naam ; , type naam int string
klasse naam int string
30
Windows-applicatie using System.Windows.Forms; using System.Drawing;
class HalloWin1 { static void Main ( ) { } using System.Windows.Forms; using System.Drawing; declaratie en toekenning van een variabele met type Form Form scherm; scherm = new Form( ); scherm.Text = "Hallo"; scherm.BackColor = Color.Yellow; scherm.Size = new Size(200,100); aanpassen van attributen Application.Run(scherm); gebruik van de variabele bij aanroep van Run
31
Syntax van opdracht opdracht naam naam ( expressie ) ; . , expressie
klasse naam methode naam ( expressie ) ; . , object expressie property naam += variabele = expressie ;
32
Syntax van opdracht opdracht naam naam ( expressie ) ; . , expressie
klasse naam methode naam ( expressie ) ; . , object expressie property naam += variabele = expressie ;
33
Windows-applicatie class HalloWin2 { static void Main ( ) { }
HalloForm scherm; scherm = new HalloForm( ); Application.Run(scherm); Form scherm; scherm = new Form( ); Application.Run(scherm); aanroep van de constructor methode subklasse is een gespecialiseerde versie class HalloForm { } : Form definitie van de constructor methode public HalloForm( ) { } this.Text = "Hallo"; this.BackColor = Color.Yellow; this.Size = new Size(200,100);
34
Windows-applicatie class HalloForm { : Form public HalloForm( ) {
} : Form public HalloForm( ) { } this.Text = "Hallo"; this.BackColor = Color.Yellow; this.Size = new Size(200,100); Label groet; groet = new Label( ); groet.Text = "Hallo allemaal"; groet.Location = new Point(30,20); this.Controls.Add(groet);
35
Syntax van opdracht opdracht naam naam ( expressie ) ; . , expressie
klasse naam methode naam ( expressie ) ; . , object expressie property naam += variabele = expressie ;
36
Syntax van opdracht scherm . Size groet . Text naam . Length
klasse naam methode naam ( . object expressie property naam = property naam methode naam scherm . Size groet . Text naam . Length object expressie this.Controls . Add Console . WriteLine Application . Run static klasse naam Color Yellow
37
Static gewone methoden static methoden static Bewerken een object
Bewerken geen object Aanroep: object . methode (…) Aanroep: klasse . methode (…) In de body van de definitie: this is dat object In de body van de definitie: this bestaat niet Voorbeeld: Voorbeeld: Controls.Add(groet); Application.Run(scherm); Constructormethoden zijn nooit static Main is altijd static
38
Windows-applicatie class HalloForm { : Form public HalloForm( ) {
} : Form public HalloForm( ) { } this.Text = "Hallo"; this.BackColor = Color.Yellow; this.Size = new Size(200,100); Label groet; groet = new Label( ); groet.Text = "Hallo allemaal"; groet.Location = new Point(30,20); this.Controls.Add(groet);
39
Methode-naam, maar geen aanroep!
Windows-applicatie class HalloForm { } : Form public HalloForm( ) { } this.Text = "Hallo"; this.BackColor = Color.Yellow; this.Size = new Size(200,100); this.Paint += this.teken; “Event”-property Methode-naam, maar geen aanroep!
40
Windows-applicatie class HalloForm { } : Form public HalloForm( ) { }
this.Text = "Hallo"; this.BackColor = Color.Yellow; this.Size = new Size(200,100); this.Paint += this.teken; } void teken( { Object o, PaintEventArgs pea ) pea. Graphics. DrawString( ); "Hallo!" , new Font("Tahoma", 30) , Brushes.Blue , 10, 10
41
Windows-applicatie using System.Windows.Forms;
class HalloWin3 { static void Main() { HalloForm scherm; scherm = new HalloForm(); Application.Run(scherm); } class HalloForm : Form { public HalloForm() { this.Text = "Hallo"; this.Paint += this.teken; } void teken(object o, PaintEventArgs p) { p.Graphics.DrawString( … );
42
Game-applicatie using System.Windows.Forms;
using Microsoft.XNA.Framework; class HalloWin3 { static void Main() { HalloForm scherm; scherm = new HalloForm(); Application.Run(scherm); } class HalloGame4 { static void Main() { HalloGame spel; spel = new HalloGame(); } spel.Run(); class HalloForm : Form { public HalloForm() { this.Text = "Hallo"; this.Paint += this.teken; } void teken(object o, PaintEventArgs p) { p.Graphics.DrawString( … ); class HalloGame : Game { public HalloGame() { } this.Window.Title = "Hallo"; override void Draw(GameTime t) { }
43
Form vs. Game void teken(object o, PaintEventArgs pea) {
gr.DrawString( ); } Graphics gr; gr = pea.Graphics; "Hallo!" , new Font("Tahoma", 30) , Brushes.Blue , , 20 new Point( ) override void Draw(GameTime gt) { } SpriteBatch sb; sb = new SpriteBatch(this.GraphicsDevice); sb.Begin(); sb.DrawString( ); this.Content.Load<SpriteFont>("Spelfont") , "Hallo!" , new Vector2(10, 20) gt.TotalRealTime.Milliseconds, 20) , Color.Blue sb.End();
44
Content bij een Game Fonts, Achtergrondplaatjes, Geluiden…
this.Content.RootDirectory = "Hulpbestanden"; Fonts, Achtergrondplaatjes, Geluiden… this.Content.Load<SpriteFont>("Spelfont") Hulpbestanden / Spelfont.spritefont <?xml version="1.0" encoding="utf-8"?> <XnaContent xmlns:Graphics="Microsoft.Xna.Framework.Content.Pipeline.Graphics"> <Asset Type="Graphics:FontDescription"> <Spacing>0</Spacing> <UseKerning>true</UseKerning> <Style>Regular</Style> <CharacterRegions><CharacterRegion><Start> </Start> <End>~</End></CharacterRegion></CharacterRegions> </Asset> </XnaContent> <FontName> </FontName> <Size> </Size> Tahoma
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.