Concepts of Object Oriented Design
This lecture is basically a copy of some COMP122 lectures. For more information on any topic, click on the link below:
- General OOP concepts - Introduction to OOP
- Objects
- Classes
- Constructors
- Encapsulation
-
Inheritance - Subclasses
Dynamic binding is where you write:
B temp = new C();
This is where we use the methods from $C$ on an object of type $B$. It is called up-casting.
- Polymorphism
- Method Overriding
- Interfaces
Summary
- Objects can have their own private state and operations.
- Objects should have a constructor as well as inspection operations. They provide services to other objects.
- Objects may be implemented sequentially or concurrently.
- Object interfaces should be defined precisely using, ideally using an object oriented language.
- Object-oriented design potentially simplifies system evolution.
- The Unified Modelling Language provides different notations for defining different object models.