Software Development fundamentals

Slides:



Advertisements
Verwante presentaties
KINN 2010 •OOP •O Object •O Georiënteerd •P Programmeren.
Advertisements

Van domeinklasse tot implementatie
Objecten Hoofdstuk 6 Hoofdstuk 6 Hoofdstuk 6 1.
Klassen en objecten.
Hoofdstuk 2 Hallo, C# !.
‘Inleiding programmeren in Java’ Derde college Maandag 22 januari 2001 drs. F. de Vries.
Inleidend probleem Data structuur (hiërarchie van classes)
Consoletoepassing Variabelen Klassen
Algoritmiek Object-georiënteerd Programmeren
1 Datastructuren Introductie tot de programmeeropgaven in C++ Jan van Rijn
P. 1 Vakgroep Informatietechnologie Structuur Deel II C++ Classes Namespaces Type casting Reference types Constructors en Destructors Memory Management.
Deel XIV Eerste echte e-commerce applicatie Implementatie (vervolg) 1 Internetapplicaties Deel 15: Herhaling Java-programmatie en geautomatiseerd testen.
Windows Applicaties Bouwen met Visual Studio.NET Sijmen Koffeman Development Consultant Microsoft.
Visual Basic 2005/2008 OOP in praktijk André Obelink - MCSD, MVP Web: Web: -
KINN 2010 OOP O Object O Georiënteerd P Programmeren.
Visual Basic.NET voor studenten De VB- ontwikkelomgeving Hoofdstuk 2.
Overerving: It’s a kind of magic…. Principes van OO: 1) Overerving 2) Encapsulatie 3) Polymorphisme = (deel van het) OO. paradigma.
TypeScript Orde in de chaos!. Over mij Patrick Schmidt (Microsoft Certified Trainer) Trainer bij 4DotNet Mede-oprichter en architect BesteProduct.nl.
Interfaces Hoofdstuk 23 Hoofdstuk 23.
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,
Java Objectgeoriënteerd Programmeren in Java met BlueJ
Java Objectgeoriënteerd Programmeren in Java met BlueJ Hoofdstuk 7 Polymorfie en overerving © 2014, Gertjan Laan, versie 2.
Java Objectgeoriënteerd Programmeren in Java met BlueJ Hoofdstuk 8: Gebruikersinterface © 2014, Gertjan Laan, versie 2.
Imperatief programmeren nJeroen Fokker. Wat heb je nodig? nCollegediktaat ukopen bij A-Eskwadraat (BBG-238) uof zelf downloaden en uitprinten nSolis-id.
Studiehouding Ergens verstand van krijgen kost tijd… Uren die je alleen in je boeken doorbrengt maken het verschil. Er is niets mis met onafhankelijkheid.
 C++ heeft een inheritance mechanisme  Manier om functionaliteit te ‘erfen’ van een parrent class ◦ Polymorphisme ◦ Zoals we het ook in C# kennen.
Variabelen. Wat zijn variabelen? In een programmeertaal zijn er “dingen” nodig die ervoor zorgen dat het programma informatie voor korte of langere tijd.
Les 3 - Operators Workshop Php Basic. ICT Academy Php Basic Content Operators Wiskundig Toewijzing Vergelijking.
Codetuts Academy Les 2 Module 2a Php Fundamentals 1.
OOP en.NET. Objecten Is geen ‘nieuw’ mysterieus woord Overal om ons heen zien we objecten: – TV – Computer – Auto – Wasmachine – ….
Informatica Welkom! maandag 16 November Les B-1.
Java voor beginners Doel: Een spel maken in LWJGL Door: Jim van Leeuwen.
De definitie van een object. Een object is een verzameling van eigenschappen en bewerkingen. Veel voorkomende objecten zijn: D (display) Gui (user interface)
Windows applicatieontwikkeling
Software Development fundamentals
Objectgeoriënteerd Programmeren (2)
Objectgeoriënteerd Programmeren
Gameprogrammeren: Objecten en geheugen
Gameprogrammeren: Lists en interfaces
Gameprogrammeren: Overerving
Hoofdstuk 9.2 Strings.
Object georiënteerd programmeren
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Gameprogrammeren: Methoden
Gameprogrammeren: Herhalingen
Gameprogrammeren: Properties
Voorbeeld: Simulatie van bewegende deeltjes
Voortborduren op eerder gedaan werk
Gameprogrammeren: Abstracte klassen
Gameprogrammeren: Klassen en objecten
‘Inleiding objectgeoriënteerd programmeren met PHP’ ‘Inleiding’
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
ASP.NET MVC Web Development
ASP.NET MVC Web Development
Software Development fundamentals
Java Masterclass Sar Maroof.
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
Software Development fundamentals
Software Development fundamentals
Transcript van de presentatie:

Software Development fundamentals Introductie object-oriented programming

inhoudsopgave Begrippen / Key terms Leerdoelen / de opdracht OOP De voordelen Het verschil met procedureel programmeren Een eenvoudige class Objecten maken Properties Constructors Zelfstandig werken

begrippen Key terms access modifier encapsulation polymorphism accessors events properties abstract classes inheritance reference type auto implemented properties interfaces sealed classes class method signature constructors namespace static delegates object value type

Kernbegrippen Class/Object Encapsulation Inheritance

Kernbegrippen Class/Object Encapsulation Inheritance We gaan later een opdracht maken die al deze onderdelen bevat. Hierbij hebben we de volgende leerdoelen: Begrijpen wat een object is, en hoe we van een class meerdere objecten kunnen maken. Begrijpen hoe we dmv. encapsulation gegevens en logica kunnen afschermen binnen een class. Begrijpen hoe we dmv. inheritance classes kunnen uitbreiden zonder de bestaande class aan te passen. Het gaat er dus nog niet om dat je de code uit je hoofd weet, maar dat je weet wat deze begrippen betekenen!

C# OOP: Object Oriented Programming Procedural Programming Code verdeeld in classes. Door de verdeling in classes zijn ook uitgebreide applicaties goed te onderhouden. Bedacht in de jaren 1960. Sinds de jaren 1990 de belangrijkste standaard voor het programmeren van complexe software. Talen: C++, Delphi, Objective C, C#, Java, VB.NET, Object Pascal, PHP, Eiffel, Ruby, Python, Scala, Smalltalk, TypeScript, Dart enz. enz. enz. Procedural Programming Een programma is één stuk code dat achter elkaar wordt uitgevoerd. Eventueel opgesplitst in functies. Bij uitgebreide applicaties is de lange lijst van code bijna onmogelijk te onderhouden. Talen: C, Assembly, Basic, Cobol-85, Pascal

Voorbeeld class We schrijven een class om een taak in een todo-applicatie te vertegenwoordigen: class Task { public string Description; } Een object (instance) maken van deze class: Task eenTaak = new Task(); eenTaak.Description = “Dit is een taakomschrijving”; Console.WriteLine(eenTaak.Description);

classes Een class is een blauwdruk voor een object. Vergelijkbaar met de bouwtekening van een huis. Van één tekening kan je meerdere huizen bouwen. Van één class kan je meerdere objecten maken. Niet elk huis is hetzelfde. Je kunt het ene huis een rode deur geven, en het andere huis een blauwe deur. Ook bij objecten kan je de waardes van variabelen veranderen. (Huis.Deur.Kleur = Blauw) Classes bieden dus een uitgebreid mechanisme voor hergebruik van code.

https://gyazo.com/29dbd4b23283e38a77869af87f794bfd classes Een class is een blauwdruk voor een object. Vergelijkbaar met de bouwtekening van een huis.

Voorbeeld class Rapport { public double cijferWiskunde; public double cijferEngels; public double cijferNederlands; public double cijferInformatica; public double GeefGemiddelde() double gemiddelde = (cijferWiskunde + cijferEngels + cijferNederlands + cijferInformatica) / 4; return gemiddelde; }

Objecten Een object maken van de class Rapport: Rapport mijnRapport = new Rapport(); mijnRapport.cijferWiskunde = 6; mijnRapport.cijferEngels = 9; mijnRapport.cijferNederlands = 7; mijnRapport.cijferInformatica = 8; Console.WriteLine(mijnRapport.GeefGemiddelde()); Het object mijnRapport is in staat om eigen variabelen te onthouden en methodes uit te voeren. Dit zijn de variabelen en methodes die je hebt geschreven in de class Rapport. Door public voor variabelen en methodes te zetten, kan je er van buiten de class bij. Je kunt zoveel objecten van het type Rapport aanmaken als je wilt.

Properties Een property is een uitgebreide versie van een variabele. Waarom properties nuttig zijn komt pas later aan bod. Hou nu de regel aan: Elke publieke variabele in een class moet een property zijn. In C# heb je de auto-implemented property, die vereist weinig typwerk. Typ: ‘prop’, tab+tab Variabele: public string Description; Property: public string Description { get; set; }

Constructor Een constructor method wordt uitgevoerd bij het aanmaken van een object. class Task { public string Description {get; set;} public Task(string desc) { this.Description = desc; } Een object (instance) maken van deze class: Task eenTaak = new Task(“Brood kopen”);

Constructor Er is een bijzondere methode die je kunt maken, de ‘constructor’. Dit is een methode met dezelfde naam als de class. Zodra je een nieuw object aanmaakt, wordt deze constructor uitgevoerd.

syntax De constructor wordt uitgevoerd als je een nieuw object maakt. Rectangle mijnRect = new Rectangle(20.0, 10.0); De waardes 20.0 en 10.0 worden dus bewaard in de private variabelen length en width.

opdrachten Maak de opdracht ‘OOP Leven’

Vragen Zijn er vragen?