- Object-oriented programming stands for an approach
to structure programs by employing encapsulation and inheritance.
See slide
[1-objects].
It is motivated by the need to manage the complexity of
software. See slide [1-analysis].
- Slides slide
[1-features] and slide [1-benefits]
give an exhaustive overview.
The most important features are, obviously,
data abstraction and polymorphism due to inheritance.
- An object-oriented approach blurs the distinction between
analysis, design and implementation. See slide
[1-lifecycle].
Moreover, it allows for different software development models,
such as prototyping. See slide [1-development].
What is your opinion?
- Aspects of software quality include
correctness, robustness and extendibility.
See slide
[1-quality].
In particular, with regard to the cost of maintenance,
a valid criterion would be maintainabiliy.
OOP contributes to maintainability by supporting
a strong notion of locality.
- See slide
[1-languages].
- From a historical perspective, OOP is a paradigm of programming.
See slide
[1-paradigms].
However, from a software engineering perspective,
OOP is increasingly becoming important for design and analysis
as well.
See slide [1-respons].
- Those include imperative languages, functional languages and logic programming
languages.
The essential features of OOP encapsulation and inheritance.
These may be realized in a variety of language settings.