Concepts of Object Orientation
This course is currently not scheduled on the open calendar, but can be organized on request.
Number of days
Functional Analysts, Technical Architects and Designers, Project Managers and Developers active in any aspect of software development and coming into contact with object orientation.
Having some programming experience is useful but not necessary.
Object oriented programming languages introduce new concepts and terminology that may be difficult to grasp. Moving from procedural programming to OO is a big step. This course will provide insights in the OO paradigm. At the end of the course, each participant will understand the basic OO principles to get started with OO analysis, design and development.
Classroom training wit hands-on exercises.
Object orientation can be very difficult to understand coming from a procedural background. The new concepts and terminology used by OO can be overwhelming. It also touches on many domains, from analysis, over design to development. Having a good understanding of OO is essential for communicating with colleagues working with OO languages and collaborating to create functional analysis documents and design.
This course will help you understand the fundamental concepts of OO,by giving precise definitions of objects, classes, abstraction, encapsulation, inheritance and polymorphism. Using every day life examples, each concept will be introduced gradually to build up the complete vocabulary of the OO paradigm. At the end of the course, avery small introduction to UML will help the participants in describing the learned concepts and discussing their uses. A simple instructor-led case study will show how theory can be put into practice. During included exercises, participants can develop a better understanding what they have learned, and use small UML diagrams to reason about OO design decisions.
- Concepts of Object Orientation
- Viewing the World
- Object, Responsibility, Messages
- General Principle
- Why OO?
- Method Binding and Polymorphism
- Responsibility and Abstraction
- Classes and Instances
- Class Hierarchies
- Method Binding and Overriding
- Visibility Keywords for Encapsulation
- Inheritance Properties
- Forms of Inheritance
- Benefits and Drawbacks of Inheritance
- Strong and Loose Coupling
- Reuse and Components
- OO in Practice
- Design Patterns
- Relationship to ERD
- Object Relational Mapping
- A Very Small Introduction to UML
- Example Class Diagram
- Example Associations
- Example Object Diagram
- Case Study and Discussion