> Education Commons > IB > Topics

D.2 Features Of OOP

Students should be able to describe the features of OOP that distinguish it from other approaches to computer programming.

D.2.1 Define the term encapsulation.

Data and actions are limited to the object in which they are defined.

D.2.2 Define the term inheritance.

A parent object holds common data and actions for a group of related child objects. Multiple inheritance is not required.

D.2.3 Define the term polymorphism.

Actions have the same name but different parameter lists and processes.

D.2.4 Explain the advantages of encapsulation.

For example, the scope of data should be confined to the object in which it is defined as far as possible in order to limit side effects and dependencies.

D.2.5 Explain the advantages of inheritance.

For example, a parent object holds common data and actions, which enhances reuse and reduces maintenance overheads.

D.2.6 Explain the advantages of polymorphism.

For example, an action in a child object may choose to override actions of a parent object. This allows an external program to use the same action on a family of objects without knowing the implementation detail.

D.2.7 Describe the advantages of libraries of objects.

For example, sorts and other complex algorithms and processes do not have to be “re-invented.”

D.2.8 Describe the disadvantages of OOP.

For example, increased complexity for small problems; unsuited to particular classes of problem.

D.2.9 Discuss the use of programming teams.

As compared to individuals working alone. Examples include speed to completion, information hiding to reduce module dependencies, expertise in narrow fields (e.g. testing, documentation), etc.

The need to develop a common “language” to enable collaboration across international frontiers when resolving problems.

D.2.10 Explain the advantages of modularity in program development.

Advantages include easier debugging and testing, speedier completion, etc. > Education Commons > IB > Topics

[This page last updated 2020-12-23 at 13h10 Toronto local time.]