- Leren door doen
- Trainers met praktijkervaring
- Klassikale trainingen
- Gedetailleerd cursusmateriaal
- Duidelijke inhoudsbeschrijving
- Maatwerk inhoud mogelijk
- Trainingen die doorgaan
- Kleine groepen
De cursus Object Georiënteerd Programmeren is bedoeld een ieder die object georiënteerd wil leren programmeren met classes en objects.
Om aan deze cursus te kunnen deelnemen is ervaring met programmeren in een procedurele programmeer taal vereist.
De theorie wordt behandeld op basis van presentatie slides. De theorie wordt verduidelijkt door middel van demo's. Na bespreking van een module is er de mogelijkheid te oefenen. De cursustijden zijn van 9.30 tot 16.30.
De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Object Georiënteerd Programmeren.
In de cursus Object Georiënteerd Programmeren leren de deelnemers programmeren in een object georiënteerde taal zoals Java, C# of Python. De deelnemers kunnen zelf kiezen welke taal ze in de cursus willen gebruiken. Object Oriëntatie heeft zich bewezen als een vruchtbaar programmeer paradigma. De meeste moderne programmeer talen zijn tegenwoordig object georiënteerd en aan wat oudere talen zoals C of PHP is in de loop der tijd Object Oriëntatie toegevoegd.
De cursus gaat van start met een overzicht over hoe Object Oriëntatie is voortgekomen uit andere software development paradigma's zoals structured en procedural programmeren.
Een belangrijk voordeel van Object Oriëntatie is dat domein concepten direct in de software zijn terug te vinden. Uitgelegd wordt hoe door dit verlagen van de Semantic Gap de code begrijpelijker en beter onderhoudbaar wordt.
Vervolgens wordt ingegaan op concepten als Classes en Objects, Fields en Methods, Getters en Setters, Constructors en Destructors. De concepten zijn hetzelfde voor alle Object Georiënteerde talen, maar in de cursus wordt ook aandacht besteed aan verschillen op detail niveau.
Eveneens komt het begrip Encapsulation aan de orde waarmee de interne data van classes wordt afgeschermd van de buitenwereld en waardoor wijzigingen in de implementatie zonder aanpassingen in de aanroepende code kunnen worden doorgevoerd.
De begrippen Inheritance en Polymorfisme worden eveneens behandeld. Door middel van Inheritance kunnen afgeleide classes de code uit de base class hergebruiken en daarmee duplicate code vermijden. Polymorfisme maakt het mogelijk base class methods een andere betekenis te geven in een afgeleide class. De runtime omgeving kan deze methods door dynamic binding dan automatisch vinden.
Tenslotte wordt aandacht besteed aan Design Patterns in Object Georiënteerde software, waarmee standaard template oplossingen worden geleverd voor veel voorkomende problemen.
Module 1 : Intro Object Orientation |
Module 2 : Classes and Objects |
Module 3 : Encapsulation |
OO Origins Abstraction Levels Domain Analysis Unstructured Programming Procedural Programming Object Oriented Programming OO Benefits Reusability Lowering Semantic Gap Higher Abstraction Objects as Domain Concepts Objects as Program Concepts |
Classes are Types Objects are Instances Fields Methods Creating Objects Object Initialization Constructors Using Objects Getters and Setters Destructors Current Object this or self |
Encapsulation Benefits Information Hiding Access Specifiers private and public Implementation Changes Validity Checks Ensuring Data Validity Class Variables static Data Class Methods static Methods static Initializers |
Module 4 : Inheritance |
Module 5 : Polymorphism |
Module 6 : Design Patterns |
Deriving Classes Class Hierarchies Hiding Instance Variables Overriding Methods Overloading Methods Constructor Chaining Accessing Base Class protected Members super or base Multiple Inheritance |
Call Overridden Functions Virtual Functions Role of v-table Polymorphism Benefits Abstract Classes Incomplete Base Classes Concrete Classes Interfaces Interface Implementation Dynamic Binding |
What are Design Patterns? Common Problems Pattern Solutions Singleton Pattern private Constructors Creation Functions Adapter Pattern Adapting an Interface Observer Pattern Publish and Subscribe |
Al onze cursussen zijn klassikale cursussen waarbij de cursisten aan de hand van een ervaren trainer met diepgaande materie kennis door de stof worden geleid. Theorie wordt steeds afgewisseld met oefeningen.
We doen ook maatwerk en passen dan de cursusinhoud aan op uw wensen. Op verzoek gaan we ook in op uw praktijkcases.
De cursustijden zijn in pricipe van 9.30 tot 16.30. Maar we zijn hierin flexibel. Soms moeten mensen namelijk kinderen naar de opvang brengen of halen en komen andere tijden hun beter uit. In goed overleg kunnen we dan andere cursustijden afspreken.
Wij zorgen voor de computers waarop de cursus gehouden kan worden. Op deze computer is de voor de cursus benodigde software al geinstalleerd. U hoeft geen laptop mee te nemen om aan de cursus te kunnen deelnemen. Als u liever op uw eigen laptop werkt kunt u hem desgewenst meenemen. De benodigde software wordt dan aan het begin van de cursus geinstalleerd.
Onze cursussen worden over het algemeen gegeven met Open Source software zoals Eclipse, IntelliJ, Tomcat, Pycharm, Anaconda en Netbeans. Het digitale cursusmateriaal krijgt u na de cursus mee naar huis.
De cursus is inclusief lunch die we in een restaurantje op loopafstand van het cursuslokaal gebruiken.
De cursussen worden op diverse plaatsen in het land gepland. Een cursus gaat op een locatie door als er zich minimaal 3 mensen voor die locatie inschrijven. Als er inschrijvingen voor verschillende locaties zijn gaat de cursus door op onze hoofdlocatie is Houten net onder Utrecht. Een cursus op onze hoofdlocatie gaat ook door bij 2 inschrijvingen en regelmatig ook bij 1 inschrijving. Overigens doen we ook cursussen op de locatie van de klant als men daar prijs op stelt.
De intellectuele eigendomsrechten van de gepubliceerde cursus inhoud, ook wel aangeduid als infosheet, behoren toe aan SpiralTrain. Het is niet toegestaan de cursusinformatie, de infosheet, te publiceren in schiftelijke dan wel digitale vorm zonder de uitdrukkelijke toestemming van SpiralTrain. Onder de cursus inhoud dient te worden verstaan de beschrijving van de cursus inhoud in zinnen alsmede de indeling van de cursus in modules en onderwerpen in de modules.