topical media & game development
object-oriented programming
This chapter presented an overview
of
object-oriented programming languages.
We discussed the heritage of Simula
and the various areas of research and
development the ideas introduced by
Simula has generated.
1
- notion of object -- viewpoints
- classification -- object extensions
slide: Section 5.1: The object paradigm
An
overview of
existing object-oriented languages
was given in section 1 and we noted the prominence
of hybrid languages derived from Lisp
and C.
2
- criteria -- libraries, environments, language characteristics
- comparison -- language characteristics
slide: Section 5.2: Comparing Smalltalk, Eiffel, C++ and Java
In section 2,
we looked at a comparison
of Smalltalk, Eiffel, C++ and Java,
including criteria such as the
availability of libraries,
programming environments and
language characteristics.
3
- {\em object-oriented} -- object-based + inheritance
- orthogonal dimensions -- objects, types, delegation, abstraction
- open systems -- dimensions of modularity
slide: Section 5.3: Design dimensions of object-oriented languages
In section 3,
we discussed the design dimensions
of object-oriented languages and
characterized an orthogonal set of
dimensions consisting of
objects, types, delegation and abstraction.
We also discussed the notion of open systems
and multi-paradigm languages
combining logic programming with
object-oriented features.
4
- prototypes -- cloning and delegation
- performance -- dynamic compilation
slide: Section 5.4: Prototypes -- delegation versus inheritance
In section 4,
we dealt with classless prototype-based
languages, supporting dynamic delegation
instead of inheritance.
We also discussed performance issues
and observed that dynamic compilation
based on runtime type information
may achieve good results.
Meta-level architectures
5
- class -- the concept of class
- meta architecture -- subclass and instance hierarchy
- reflection -- postulates
slide: Section 5.5: Meta-level architectures
Finally, in section 5, we reflected on the concept
of class and discussed a reflective
architecture unifying the interpretation
of a class as an object, capable of
answering messages, and as a description
of the properties of its instances.
(C) Æliens
04/09/2009
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.