Software Development fundamentals

Slides:



Advertisements
Verwante presentaties
Instructie Programmeren Task 1 5JJ70. Task 1.1: Hello World •Klik naast de laatste accolade in de grijze kantlijn om een breakpoint neer te zetten, anders.
Advertisements

‘Inleiding programmeren in Java’ SWI cursus: ‘Inleiding programmeren in Java’ 4e college Woe 19 januari 2000 drs. F. de Vries.
Instructie Programmeren Task 1 5JJ70. Task 1.1: Hello World Klik naast de laatste accolade in de grijze kantlijn om een breakpoint neer te zetten, anders.
Instructie Programmeren Debuggen 5JJ70. Debuggen: Wat is het probleem Je programma compileert, maar werkt niet zoals verwacht, wat nu? Vraag je af: wat.
Hoofdstuk 2 Hallo, C# !.
Frank Stalpers en Ad Baars
Numerieke Natuurkunde
JAVA -- H51 CONSTRUCTOR –- COPY-CONSTRUCTOR 1Constructor: Dezelfde naam als de klasse Wordt uitgevoerd d.m.v. new Initialisatie van de (private) attributen.
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.
Hoofdstuk 5 Interactie. Controls Form Label Button Label TextBox.
Variabelen Part deux.. Variabelen week 3 0. Herhaling 1. De NullPointerException (p101) 2. Primitieven 3. Scope en levensduur van variabelen 4. Meerdere.
Variabelen Part deux.. Variabelen week 3 0. Herhaling 1. De NullPointerException (p101) 2. Primitieven 3. Scope en levensduur van variabelen 4. Meerdere.
Tircms02-p les 3 Functies Strings Structuren. Functies 1. main() 2. { int k; k = 10 ; printf(“%d\n”,fac(k)); } 3. int fac(n) int n; 4. { int f; f= 1;
tircms02-p les 1 Operating Systems practicum
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,
Programmeercursus O.O.P. met VISUAL BASIC.NET
JAVA: een platformonafhankelijke taal
Hoofdstuk 10.3 Tekst-editor: MDI-interface Dialogen Files lezen Abstracte klassen.
Tircms03-p les 1 C++ voor C-kenners Voor Technische Informatica.
Java Objectgeoriënteerd Programmeren in Java met BlueJ
Java Objectgeoriënteerd Programmeren in Java met BlueJ Hoofdstuk 8: Gebruikersinterface © 2014, Gertjan Laan, versie 2.
Studiehouding Ergens verstand van krijgen kost tijd… Uren die je alleen in je boeken doorbrengt maken het verschil. Er is niets mis met onafhankelijkheid.
Soorten programma’s nConsole- applicatie. Soorten programma’s nConsole- applicatie nWindows- applicatie.
Welkom! maandag 16 November 2015 Les B-2.
Codetuts Academy Les 6 Module 2a Php Fundamentals 1.
Codetuts Academy Les 2 Module 2a Php Fundamentals 1.
GUI & classes Een Gui in een class steken en het object gebruiken.
Robby de Robot. Javascript Tot nu toe gebruikt: – document.write(" Hello World "); – alert("tekst") – Toon een waarschuwingsvenster – prompt("tekst",
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Windows applicatieontwikkeling
Software Development fundamentals
Aanroep van een methode voert opdrachten uit in de body daarvan
Hoofdstuk 9.2 Strings.
Tinpro015b-les 1 C++ voor C-kenners Voor Technische Informatica.
Gameprogrammeren: Programmastructuur
Basis Gameprogrammeren
Gameprogrammeren: Herhalingen
Syntax van opdracht opdracht naam naam ( expressie ) ; . , expressie
Tinpro015b-les4 Klassen.
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
Software Development fundamentals
ASP.NET MVC Web Development
Software Development fundamentals
Small Basic Console deel 2
Software Development fundamentals
ASP.NET MVC Web Development
Software Development fundamentals
– Software development fundamentals
Software Development fundamentals
Java Masterclass Sar Maroof.
Software Development fundamentals
Software Development fundamentals
– Software development fundamentals
Windows applicatieontwikkeling
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
Gameprogrammeren: Arrays
Python – For loop + strings
Transcript van de presentatie:

Software Development fundamentals Les 2 – C#

inhoudsopgave De taal C# Syntax Commentaar in de code Objectoriëntatie in het kort Datatypes Conversie Opdrachten

C# C# is dé taal voor .NET development Het is een objectgeorienteerde taal C# als taal lijkt sterk op Java Je werkt met Visual Studio Dit is een IDE, een Integrated Development Environment. We beginnen met: Winforms applicaties Console applicaties Maar er is veel meer mogelijk! Windows applicaties (Forms, WPF) Webapplicaties (ASP.NET MVC) Webservices (ASP.NET Web API) Windows store apps Android/IOS apps (Xamarin) Games (Unity, Cocos2D etc.) Welke manier heeft jouw voorkeur en waarom?

De syntax Syntax zijn de regels voor het correct gebruik van een taal. Denk bij Nederlands aan grammatica en zinsbouw, beginnen met een hoofdletter, eindigen met een punt enzovoort. Bij programmeertalen zijn deze regels een stuk strenger, en daarom ook makkelijker te leren! Als je je niet aan de correcte regels houdt, zal je C# code niet compileren. Syntax leer je waarschijnlijk vanzelf, na een aantal uur programmeren, en door code van anderen te lezen. Welke manier heeft jouw voorkeur en waarom?

Een paar basisregels Alle code staat in classes. Classes staan in namespaces. Met de using statements bovenaan wordt aangegeven welke externe namespaces (en classes daarin) je wilt invoegen. Code die echt wordt uitgevoerd staat in methodes. Het is in C# niet mogelijk om uitvoerbare code buiten methodes te hebben. Instructieregels/statements eindigen met een puntkomma ; De public static void Main() methode is het startpunt van de applicatie Accolades/Gekrulde haakjes { } geven aan wat bij de class en de methode hoort (de scope). Welke manier heeft jouw voorkeur en waarom?

Nogmaals syntax C# schrijf je niet hetzelfde als PHP of JavaScript, maar het lijkt er wel op. using System; namespace HelloApplication { public class Hello public static void Main() Console.WriteLine("Hello, World!"); } Code staat in classes (hier Hello). Classes staan in namespaces. Met using wordt aangegeven welke externe namespaces (en classes daarin) je wilt invoegen. Code die echt wordt uitgevoerd staat in methodes Instructieregels/statements eindigen met een puntkomma ; De public static void Main() methode is het startpunt van de applicatie Accolades/Curly Brackets { } geven aan wat bij de class en de methode hoort.

Commentaar in de code Het is handig om code te voorzien van commentaar. Commentaar is tekst die wordt genegeerd door de compiler, dus bedoeld voor andere ontwikkelaars! (of voor jezelf in de toekomst…) Een regel commentaar voeg je in met // // Hier kan je typen wat je wilt Een blok commentaar typ je met /* */ /* Hier kan je meerdere regels commentaar plaatsen */ Commentaar boven methodes typ je met /// Dit genereert automatisch een commentaarblok dat werkt in combinatie met IntelliSense.

Objectorientatie Is het onderwerp van module 2. Maar, omdat C# helemaal Objectgeoriënteerd is kunnen we er nu niet omheen. Objectgeoriënteerd programmeren is een werkwijze bedacht om de code van complexe applicaties overzichtelijk, onderhoudbaar en herbruikbaar te houden. De kern van Objectgeoriënteerd programmeren is dat je code is verdeeld in classes. Van deze classes kunnen objecten gemaakt worden. Een class is een combinatie van methodes en variabelen/properties. Voorbeelden: Console, Button, Form, Textbox, SqlConnection, MailMessage etc.

variabelen In tegenstelling tot PHP en JavaScript is C# code meestal type-safe. Dat betekent dat een variabele een bepaald datatype heeft. In PHP werkt dit: $naam = “Jasper”; In C# geef je expliciet op dat dit een variabele is van het type string. string naam = “Jasper”; Dit werkt ook binnen methodes, maar raad ik af als je net begint: var naam = “Jasper”;

De datatypes Je hebt allerlei soorten datatypes, en je kunt ze ook zelf maken. Belangrijk is nu dat je bekend bent met de ingebouwde datatypes. Die beginnen met een kleine letter. (voor ‘t MTA examen moet je deze uit je hoofd leren) Verdere interessante datatypes zijn classes en enums. Naam Bytes Bevat byte 1 0 tot 255 char 2 1 karakter short -32,768 tot 32,767 int 4 -2,147,483,648 tot 2,147,483,647 long 8 -9,223,372,036,854,775,808 tot 9,223,372,036,854,775,807 float -3.4 × 1038 tot +3.4 × 1038 double ±5.0 × 10−324 tot ±1.7 × 10308 bool true/false string ? Tekst

Declaratie en initialisatie Declaratie = reserveren van geheugenruimte < onthouden Initialisatie = toewijzen van een eerste waarde < onthouden Declaratie: int getal; Waarde toewijzen getal = 20; Declaratie en initialisatie in één regel: int getal = 20;

Default waardes int getal; bool check; Wat zit er nu in deze twee variabelen? Getal is 0, check is false, dit zijn default waardes. string tekst; En in deze? tekst is null, bij complexere datatypes geeft null aan dat er nog geen waarde is. Je kunt hier ook op checken if(tekst == null) // tekst heeft geen waarde. Dit is hetzelfde als isset() in PHP

conversie Omdat je verschillende datatypes hebt zal je vaak converteren of parsen. Stel dat je een eenvoudig rekenprogramma schrijft dat 2 getallen optelt. We maken een nieuwe winforms applicatie met twee textboxes, een button en een label.

conversie Omdat je verschillende datatypes hebt zal je vaak converteren of parsen. Je ziet dat twee strings optellen niet goed werkt. “2” + “2” is 22, en niet 4. Je zult de strings dus om moeten zetten naar ints of doubles. Daarna moeten we het resultaat weer omzetten in een string om dit te kunnen tonen. double getal1 = double.Parse(textbox1.Text); double getal2 = double.Parse(textbox2.Text); double resultaat = getal1 + getal2; Label1.Text = resultaat.ToString();

Overzicht conversie (onthouden!!!!) String invoer = “22.6”; Van string naar een int kan op 2 manieren: int getal = int.Parse(invoer); int getal = Convert.ToInt32(invoer); Van string naar een double kan ook op 2 manieren: double getal = double.Parse(invoer); double getal = Convert.ToDouble(invoer); Een getal omzetten naar een string doe je met ToString() string uitvoer = getal.ToString();

Aan de slag We gaan een paar console applicaties maken om te oefenen De opdrachten staan online (google drive) Is het te makkelijk voor je? Maar 2 opdrachten zijn verplicht, en die kosten niet veel tijd…

Afsluiting Zijn er vragen?