- Leren door doen
- Trainers met praktijkervaring
- Klassikale trainingen
- Gedetailleerd cursusmateriaal
- Duidelijke inhoudsbeschrijving
- Maatwerk inhoud mogelijk
- Trainingen die doorgaan
- Kleine groepen
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.
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.
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 |