Meer constructormethodes in klasse Kleur { class Kleur } public byte Rood, Groen, Blauw; public Kleur( byte r, byte g, byte b ) { } Rood=r; Groen=g; Blauw=b;

Slides:



Advertisements
Verwante presentaties
Het type int Tekenen met Java operatoren
Advertisements

Hoofdstuk 2 Hallo, C# !.
Array nDeclaratie nCreatie nOpvragen nWijzigen nLengte String [ ] a; a = new String[10]; ……a[5]…… a[5] = ……; …a.Length… …is eigenlijk overbodig! List a;
Hoofdstuk 8 Objecten en klassen.
Consoletoepassing Variabelen Klassen
Algoritmiek Object-georiënteerd Programmeren
LauwersCollege Buitenpost Java Applet programma dat op een website zichtbaar is Java Application programma dat zelfstandig werkt Javascript Scripttaal.
Opgave 1a: void nvoid staat in de header van een methode die geen resultaatwaarde heeft nde aanroep van een void-methode is dan een opdracht i.p.v. een.
Hoofdstuk 5 Interactie. Controls Form Label Button Label TextBox.
Hoorcollege 2 Basis gameprogrammeren. Soorten programma’s Console- applicatie.
Hoorcollege 4 Objecten en methoden. Eigen methode toevoegen class Painter : Game { public void HandleInput() { … } protected override void Update(GameTime.
Tircms03-p les 4 Klassen. Abstracte datatypes in C struct stack { char info[100]; int top; }; void reset(stack *s) { s->top = -1; } void push(stack *s,
Hoofdstuk 3 Methoden om te tekenen.
Hoofdstuk 11 Strings en arrays. TextArea en String class LetterTeller extends Applet { void init ( ) { invoer = new TextArea (5, 40); uitvoer = new TextField(40);
Opgave 1a ncompiler: vertaalt broncode naar machine-uitvoerbare code ninterpreter: voert broncode direct uit.
Hoofdstuk 4 Nieuwe methoden. Tekenen g.drawRect(20,60,40,40); g.drawLine(20,60,40,40); g.drawLine(40,40,60,60); g.drawRect(70,60,40,40); g.drawLine(70,60,90,40);
1 PI1 week 9 Complexiteit Sorteren Zoeken. 2 Complexiteit van algoritmen Hoeveel werk kost het uitvoeren van een algoritme (efficiëntie)? –tel het aantal.
Hoofdstuk 8.5 Subklassen. versie-management problematiek Voortborduren op eerder gedaan werk nEerste poging: “knip&plak” class Twee { int x, y; int oud.
Hoofdstuk 2 Hallo, C# !. Opbouw broncode nOpdrachten om het geheugen te veranderen nOpdrachten zijn gegroepeerd in methoden nMethoden zijn gegroepeerd.
Gelijkheid van Strings static bool Gelijk( string s, string t) { } int m = s.Length; int n = t.Length; for (i=0; i
Programma opdrachten methoden klasse variabelen en Geheugen objecten klasse zijn gegroepeerd in hebben als type veranderen bewerken.
Klasse uit library Android.App Activity Bij het starten van een app: nOperating system maakt een Activity -object aan… n…en neemt dat onderhanden met de.
Klasse uit library Android.App Activity Bij het starten van een app: nOperating system maakt een Activity -object aan… n…en neemt dat onderhanden met de.
Soorten programma’s nConsole- applicatie. Soorten programma’s nConsole- applicatie nWindows- applicatie.
1e Deeltentamen nNagekeken werk ligt voor in de zaal (alfabetisch op achternaam) nNeem het even mee, de uitwerking wordt in het college besproken nDiscussies.
Aangepaste timing nTheorie (16 colleges + 2 deeltentamens) nPraktijk (16 keer, 3 inleveropdrachten) college Tent. 1 Tent. 3 college prakt. 1 prakt. 3 prakt.
Aangepaste timing nTheorie (16 colleges + 2 deeltentamens) nPraktijk (16 keer, 2 inleveropdrachten) college Tent. 1 Tent. 2 college prakt. 1 prakt. 2 prakt.
Resources. Kompas } { protected override void OnDraw(Canvas canv) { base.OnDraw(canv); } public KompasView(Context c) : base(c) { } class KompasView :
Programma opdrachten methoden klasse variabelen en Geheugen objecten klasse zijn gegroepeerd in hebben als type veranderen bewerken.
Windows-applicatie class HalloWin1 { static void Main ( ) { } Form scherm; scherm = new Form( ); Application.Run(scherm); using System.Windows.Forms; scherm.Text.
Exceptions Exception: nUitzonderlijke toestand die door een methode wordt opgeworpen nDe situatie moet door de aanroeper van de methode worden opgevangen.
Syntax van opdrachten opdracht (), ;expressie klasse naam object expressie. methode naam =expressie;variabele property naam += returnexpressie; if)(expressieopdrachtblok.
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Activity Bij het starten van een app:
…is eigenlijk overbodig!
Aanroep van een methode voert opdrachten uit in de body daarvan
ISensorEventListener
1e Deeltentamen Nagekeken werk ligt voor in de zaal (alfabetisch op achternaam) Neem het even mee, de uitwerking wordt in het college besproken Discussies.
Gameprogrammeren: Objecten en geheugen
Schilderij class MijnAct : Activity { MijnView scherm;
Gameprogrammeren: Overerving
Hoofdstuk 9.2 Strings.
Gameprogrammeren: Char en String
string versus char string char klasse primitief type
Letterfrequentie turven
Gameprogrammeren: Variabelen, declaraties en toekenningen
Syntax van opdrachten opdracht naam naam ( expressie ) ; . , expressie
Gameprogrammeren: Expressies
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Arjan Egges & Paul Bergervoet
vandaag èn vrijdag deadline maandag 12 dec.
Publieksvraag // schrijf een static methode die telt hoe // vaak een symbool voorkomt in een string // voorbeeld-aanroep: int n; n = Demo . Freq(’e’,
Gameprogrammeren: Overerving in Painter
Basis Gameprogrammeren
Gameprogrammeren: Herhalingen
1. Een klasse is… Een groepje opdrachten Een groepje variabelen
Tinpro015b-les6 Templates.
Syntax van opdracht opdracht naam naam ( expressie ) ; . , expressie
Arjan Egges & Paul Bergervoet
Voorbeeld: Simulatie van bewegende deeltjes
Voortborduren op eerder gedaan werk
Opdrachten herhalen public void tekenScherm (object o, PEA pea)
Aanroep van een methode voert opdrachten uit in de body daarvan
Gameprogrammeren: Klassen en objecten
Interface In de library In je eigen programma wat is er nodig om een
Arjan Egges & Paul Bergervoet
Object Communication (Jewel Jam)
Exceptions Exception:
Software Development fundamentals
Gameprogrammeren: Arrays
Transcript van de presentatie:

Meer constructormethodes in klasse Kleur { class Kleur } public byte Rood, Groen, Blauw; public Kleur( byte r, byte g, byte b ) { } Rood=r; Groen=g; Blauw=b; constructor-methode met parameters public Kleur( Kleur orig ) { } Rood=orig.Rood; Groen=orig.Groen; Blauw=orig.Blauw; constructor-methode die een kopie maakt public Kleur( string s ) { } constructor-methode die een string ontleedt string[ ] woorden = s.Split( ); Rood = woorden[0]; Groen = woorden[1]; Blauw = woorden[2]; Rood = byte.Parse( woorden[0] ); Groen = byte.Parse( woorden[1] ); Blauw = byte.Parse( woorden[2] ); array van strings handige methode van string

Static variabelen { class Kleur } public byte Rood, Groen, Blauw; static variabelen zitten niet in het object public static byte Max = 255; maar hebben er iets mee te maken public Kleur( ) { } Rood=Max; Groen=Max; Blauw=Max; constructor-methode

Static methoden { class Kleur } public byte Rood, Groen, Blauw; static variabelen zitten niet in het object public static byte Max = 255; maar hebben er iets mee te maken public Kleur( ) { } Rood=Max; Groen=Max; Blauw=Max; constructor-methode public static Kleur Parse( string s ) { } static methoden hebben geen object onderhanden return new Kleur(s); public static Kleur Geel = new Kleur(Max,Max,0); static variabele met de eigen klasse als type

Intent nIntent: bedoeling om een nieuwe activiteit te starten ueigen activiteit §Hallo §Teller ustandard §web-browser §text-sender

Intent: Hallo opstarten public class Multi : Activity { } Button b1, b2, b3, b4, b5, b6; public void klik1 (object o, EventArgs e) { } Intent i; i = new Intent (this, StartActivity(i); typeof(Hallo) ); i.PutExtra("wat", "Hallo!!!"); public class Hallo : Activity { } override void OnCreate(Bundle b) { base.OnCreate(b); } TextView t = new TextView(this); SetContentView(t); string s = Intent.GetStringExtra("wat"); t.Text = s; hier zijn 24 verschillende varianten van......maar net niet die je nodig hebt, bijv. Kleur i.PutExtra("kleur", oranje.ToString()); string s = Intent.GetStringExtra("kleur"); Kleur k = new Kleur(s);

Publieksvraag n//schrijf een static methode die telt hoe // vaak een symbool voorkomt in een string n//voorbeeld-aanroep: int n; n = Demo. Freq('e', "some text" ); n// hint: gebruik een for opdracht

Tel symbool-frequentie public static int Freq(char x, string s) { s[t]==x for (int t=0; t<s.Length; t++) if ( ) aantal++; int aantal; aantal = 0; return aantal; }

Tel symbool-frequentie public static int Freq(char x, string s) { s[t]==x for (int t=0; t<s.Length; t++) if ( ) aantal++; int aantal; aantal = 0; return aantal; } foreach ( char c in s ) c == x

Publieksvraag: Gelijkheid van Strings static bool Gelijk( string s, string t) { } return s==t; Maar dan zonder de bestaande operator == voor strings te gebruiken == voor char en int mag wel

Publieksvraag: Gelijkheid van Strings static bool Gelijk( string s, string t) { } int m = s.Length; int n = t.Length; for (i=0; i<m && i<n; i++) { } char c = s[i]; char d= t[i]; if (c!=d) return false; return m==n;

Gelijkheid van Strings static bool Equals( string s, string t) { } int m = s.Length; int n = t.Length; for (i=0; i<m && i<n; i++) { } char c = s[i]; char d= t[i]; if (c!=d) return false; return m==n; class String { } this.Length; this[i];

naamtype void () blok parameters methode member

naamtype void operator op () blok parameters methode member

Gelijkheid van Strings static Gelijk ( string s, string t) { } return s.Equals(t); operator == class String { }

Hoofdstuk Arrays

nArray: rij genummerde variabelen tabel length5 int [ ] tabel; new int [5];tabel = declaratie van een array creëren van het eigenlijke array-object

Gebruik van een array n’t zijn echte variabelen: tabel Length 5 tabel [2] = 37; tabel[4] = tabel [2] + 5; if (tabel.Length<10)... tabel.Length = 10; Length is een read-only property

Gebruik van een array nvariabele als index in de array tabel Length5 tabel [0] = 42; tabel [1] = 42; tabel [2] = 42; tabel [3] = 42; tabel [4] = 42; 42 tabel [t] = 42; for (t=0; t<5; t++)

Array als parameter tabel Length int Grootste ( int [ ] tabel ) { } int resultaat; return resultaat; if (tabel [t] > resultaat) resultaat = tabel [t]; for (t=0; t<tabel.Length; t++) int t; resultaat =tabel [0]; static

Syntax van array-type type int short sbyte long decimal double float char bool uint ushort byte ulong struct naam class naam object string waarde verwijzing [], array

Array van getallen tabel int [ ] tabel; new int [5];tabel = Length 5

Array van struct-objecten tabel Color [ ] palet; new Color[5]; palet = Length 5

Array van class-objecten tabel PointF [ ] plaatsen; new PointF[5]; tabel = Length 5 for (int t=0; t<5; t++) plaatsen[t] = new PointF( );

string versus array nKlassen Type met speciale syntax nSpeciale index-notatie string s = new string();char[] a = new char[10]; c = a[2];a[3] = c; nSpeciale quote-notatie s = "hallo"; nProperty a.Length nProperty s.Length nMethoden s.Substring(3,2); s.IndexOf(t); nIndexer -notatie c = s[2];s[3] = c;

Declaratie declaratie naamtype, =initialisatieconst ; var met intitialisatie initialisatie expressie initialisatie}{, string [ ] woorden = { "aap", "noot", "mies" }; int [ ] maand = { 31,28,31,30,31,30,31,31,30,31,30,31 }; Color [ ] palet = { new Color(64,0,0), Color.Yellow };

Tekst Analyse EditText TekstAnalyse DiagramView class TekstAnalyse : Activity class DiagramView : View LinearLayout

Tekst Analyse public class TekstAnalyse : Activity { protected override void OnCreate(Bundle b) { base.OnCreate(b); } tekst = new EditText(this); diagram = new DiagramView(this); } EditText tekst; DiagramView diagram; LinearLayout s = new LinearLayout(this); s.AddView(tekst); s.AddView(diagram); SetContentView(s); public void veranderd(object o, EventArgs e) } { tekst.AfterTextChanged += veranderd; diagram.Invoer = tekst.Text; diagram.Invalidate( );

Tekst Analyse public class DiagramView: View { protected override void OnDraw(Canvas cv) { base.OnDraw(cv); } } public string Invoer; tellers Length int [ ] tellers; tellers = new int [26];

Tekst Analyse public class DiagramView: View { protected override void OnDraw(Canvas cv) { base.OnDraw(cv); } } public string Invoer; tellers Length int [ ] tellers; tellers = new int [26]; tellers[ ]++; foreach(char c in Invoer) c-'a' if (c>='a' && c<='z') foreach(int a in tellers) { } cv.DrawRect( x, y, x+a*w, y+h, verf ); cv.DrawText( a.ToString()... ); int h = Height/ 26; y = y+h;, y=0; int w = Width / max;

Array / List nDeclaratie nCreatie nOpvragen nWijzigen nLengte String [ ] a; a = new String[10]; ……a[5]…… a[5] = ……; …a.Length… List a; a = new List(); …a.Get(5)… a.Set(5,…); …a.Count… array: oject dat een rij waarden bevat, met speciale notaties List: array “ingepakt” in een klasse, met extra methodes nInvoegen nAchtervoegen a.Insert(5,…); List a; a = new List (); a.Add(…); ……a[5]…… a[5] = ……;

ListView

public class KleurenApp : Activity { protected override void OnCreate(Bundle b) { base.OnCreate(b); } kleurLijst = new ListView(this); } ListView kleurLijst; SetContentView(kleurLijst); public void klik(object o, ItemClickEventArgs e) } { kleurLijst.Adapter = kleurAdp; ArrayAdapter kleurAdp; kleurAdp = new ArrayAdapter (this, SimpleListItemChecked, kleuren); kleurLijst.Choicemode = Multiple; string[] kleuren = {"rood", "wit", "blauw"}; kleurLijst.ItemClick += klik; string s = kleuren[e.Position]; Toast.MakeText(...t...). Show( );