Introduction:
organization, topics, tasks
PDF
Basic information on lectures, topics, and requirements for credit.
Example of a simple class as a building block of an object-oriented program.
Modularity
PDF
History of programming paradigms focusing on software quality and scope.
Modularity as an internal quality factor.
A simple class with composition and its usage
focused on construction and destruction of objects.
Classes and Objects
PDF
General characteristics of object-oriented paradigm focused on
object language, support of implementation and use of libraries.
A class containing a dynamic array of objects of another class,
constructor and destructor.
Design of Program I
PDF
Design of an object-oriented program with three classes and simple compositions.
Analysis of the problem, its design and declaration of classes.
Declaration of classes without definitions. The implementation will be done as individual work.
Object Decomposition
Class as Object
PDF
Relationship between functional and object decomposition of a program.
Class as an object and examples of its use.
Implementation of simple examples in which the class behaves like an object.
Inheritance: Introduction
PDF
Reasons to use inheritance, an extension of behavior, substitution as a basic principle.
A task to divide the class into parent and child.
Reimplementation of program using an extension.
Inheritance:
Change of Behavior
PDF
Class behavior change, the difference between overloading and overriding/shadowing. Substitution principle.
Using "protected" to change implementation.
Reimplementation of program using shadowing.
Polymorphism
PDF
Extension of a class using polymorphism. The difference between shadowing and overriding, virtual methods.
Virtuality and substitution principle, replacement of implementation.
Reimplementation of a program using overriding.