[9]
DejaVU Online:
Principles of Object-Oriented Software Development
(©)
[9]
-
[up]
[top] -
[I]
[II]
[III]
[IV] -
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12] -
[A]
[R]
Instructor's Guide
intro,
inheritance,
subtypes,
polymorphism,
types,
hiding,
self-reference,
summary,
Q/A,
literature
- How would you characterize inheritance
as applied in knowledge representation?
Discuss the problems that arise
due to non-monotony.
- How would you render the meaning of
an inheritance lattice?
Give some examples.
- What is the meaning of a type?
How would you characterize the relation between
a type and its subtypes?
- Characterize the subtyping rules for ranges,
functions, records and variant records.
Give some examples.
- What is the intuition underlying the
function subtyping rule?
- What is understood by the notion
of objects as records?
Explain the subtyping rule for objects.
- Discuss the relative merits of typed
formalisms and untyped formalisms.
- What flavors of polymorphism
can you think of?
Explain how the various flavors are
related to programming language constructs.
- Discuss how inheritance may be understood
as an incremental modification mechanism.
- Characterize the simple type calculus
, that is the syntax, type
assignment and refinement rules.
Do the same for
and
.
- Type the following expressions:
(a)
,
(b)
,
and
(c)
.
- Verify whether:
(a)
,
(b)
, and
(c)
.
- Explain how you may model abstract
data types as existential types.
- What realizations of
the type
can you think of?
Give at least two examples.
- Prove that
.
- Prove that
, for
.
slide: Questions
[9]
-
[up]
[top] -
[I]
[II]
[III]
[IV] -
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12] -
[A]
[R]