Object Georienteerd Programmeren
Lesgeld
Intro Cursus Object Georiënteerd Programmeren
De cursus Object Georiënteerd Programmeren begint met een overzicht van hoe dit paradigma is voortgekomen uit andere softwareontwikkelingsmethoden zoals structured en procedural programmeren. Het begrijpen van deze evolutionaire stap is essentieel voor moderne softwareontwikkeling.
Lowering of Semantic Gap
Een belangrijk voordeel van de cursus Object Georiënteerd Programmeren is dat domeinconcepten direct in de software zi
Intro Cursus Object Georiënteerd Programmeren
De cursus Object Georiënteerd Programmeren begint met een overzicht van hoe dit paradigma is voortgekomen uit andere softwareontwikkelingsmethoden zoals structured en procedural programmeren. Het begrijpen van deze evolutionaire stap is essentieel voor moderne softwareontwikkeling.
Lowering of Semantic Gap
Een belangrijk voordeel van de cursus Object Georiënteerd Programmeren is dat domeinconcepten direct in de software zijn terug te vinden. We leggen uit hoe het verlagen van de Semantic Gap de code begrijpelijker en beter onderhoudbaar maakt. Dit principe zorgt ervoor dat ontwikkelaars sneller en efficiënter kunnen werken met de applicaties die ze bouwen.
Classes en Objects
Vervolgens behandelen we de concepten van Classes en Objects, evenals Fields en Methods, Getters en Setters, Constructors en Destructors. Hoewel deze concepten consistent zijn in alle Object Georiënteerde talen, besteden we ook aandacht aan de kleine maar belangrijke verschillen op detailniveau. Dit helpt deelnemers om een diepgaand begrip te ontwikkelen van hoe deze elementen samenwerken in verschillende programmeertalen.
Encapsulation
Een ander belangrijk onderwerp in de cursus is Encapsulation. Dit begrip houdt in dat de interne data van classes wordt afgeschermd van de buitenwereld. Hierdoor kunnen wijzigingen in de implementatie worden doorgevoerd zonder dat aanpassingen in de aanroepende code nodig zijn, wat de onderhoudbaarheid van software aanzienlijk verbetert.
Inheritance en Polymorfisme
De begrippen Inheritance en Polymorfisme worden eveneens behandeld in de cursus Object Georiënteerd Programmeren. Door middel van Inheritance kunnen afgeleide classes de code uit de base class hergebruiken, waardoor duplicate code wordt vermeden. Polymorfisme stelt ontwikkelaars in staat base class methods een andere betekenis te geven in afgeleide classes. Dankzij dynamic binding kan de runtime omgeving deze methods automatisch vinden.
Design Patterns in Object Georiënteerd Programmeren
Tenslotte besteden we aandacht aan Design Patterns binnen Object Georiënteerd Programmeren. Deze patronen bieden standaardoplossingen voor veelvoorkomende problemen en helpen ontwikkelaars bij het optimaliseren van hun code. Voor meer gedetailleerde informatie over de principes en toepassingen van Design Patterns, kunt u de uitgebreide documentatie bekijken op Refactoring Guru.
Voor meer programmeren cursussen, zoals Java Programmeren, kunt u ook onze andere aanbiedingen bekijken.
Doelgroep Cursus Object Georiënteerd Programmeren
De cursus Object Georiënteerd Programmeren is bedoeld een ieder die object georiënteerd wil leren programmeren met classes en objects.
Voorkennis Cursus Object Georiënteerd Programmeren
Om aan deze cursus te kunnen deelnemen is ervaring met programmeren in een procedurele programmeer taal vereist.
Uitvoering Training Object Georiënteerd Programmeren
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.
Certificering Cursus Object Georiënteerd Programmeren
De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Object Georiënteerd Programmeren.
Modules
Module 1 : Intro Object Orientation
- 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
Module 2 : Classes and Objects
- Classes are Types
- Objects are Instances
- Fields
- Methods
- Creating Objects
- Object Initialization
- Constructors
- Using Objects
- Getters and Setters
- Destructors
- Current Object
- this or self
Module 3 : Encapsulation
- 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
- Deriving Classes
- Class Hierarchies
- Hiding Instance Variables
- Overriding Methods
- Overloading Methods
- Constructor Chaining
- Accessing Base Class
- protected Members
- super or base
- Multiple Inheritance
Module 5 : Polymorphism
- Call Overridden Functions
- Virtual Functions
- Role of v-table
- Polymorphism Benefits
- Abstract Classes
- Incomplete Base Classes
- Concrete Classes
- Interfaces
- Interface Implementation
- Dynamic Binding
Module 6 : Design Patterns
- What are Design Patterns?
- Common Problems
- Pattern Solutions
- Singleton Pattern
- private Constructors
- Creation Functions
- Adapter Pattern
- Adapting an Interface
- Observer Pattern
- Publish and Subscribe