Alhir, Pages 57-68
Discussion questions submitted for pages 57-68 of Alhir:
Types of Relationships
-
What are specific distinctions between associations, aggregations, and
compositions? Patrick Dowd
-
What purpose do links serve, and what is an example of a link? (Sam
Vanderhyden)
-
For which type(s) of entities do aggregations abstract relationships? (Sam
Vanderhyden)
-
How can an association (a class) describe a link (an object)? -Peter Likarish
-
Links and associations seem to be a good way to relate objects, but how
does that become helpful in object-oriented design?
-
Can you better explain the relationship between links, associations,
aggregations, compositions, and generalizations? - Jim Finnessy
-
What is the relationship/differences between links and associations? Elias
Vafiadis
-
What does it mean that aggregations are "abstractions of concrete or
conceptual whole part relationships among entities"? Desi Dimova
-
The language used to describe links and associations was a bit hard to
understand. Could you give some real world examples, and perhaps a slightly
clearer definition?
-
Are compositions symmetric and nontransitive? Could you elaborate on the
concepts of transitivity and symmetry and how they relate to the different
level of abstractions (links, associations, aggregations, compositions, and
generalizations)? Desi Dimova
Inheritance and Polymorphism
-
what is a difference between abstract classes and concrete classes?
-
Would generalizations be clarified? They sound like inheritance of any sort
from the way the book describes them.
-
What is the difference between having a treelike hierchy and a lattice like
hierchy when utilizing inheritence? Taha
-
In what situation can you effectively use abstract classes? (Raz Magar)
-
What is the basic difference in parameteric polymorphism and pure
polymorphism and what are the advantages and disadvantages of each? Taha
-
How beneficial is polymorphism during the runtime of a program designed
with UML? George Yeboah
-
What are the major differences between the different types of
polymorphism, namely ad hoc, parametric and pure? George Yeboah
-
How does message exchanging differ from objects sending flag-like
parameters?
-
what does polymorphism exactly mean and can you clarify the terms pure
polymorphism, parmetrized polymorphism and inclusion polymorphism?
-
Can you give examples of different types of polymorphism? -Jonathan Kensler
-
How is inheritence in UML different, if at all, from that in Java?
-
How different are Metaclasses from superordinate classes? --Hisako
Scenarios and Interactions
-
How similar is the concept of delegation to that of a scenario? Delegation
appears to be the ability to issue messages, how does a scenario relate to
this? Patrick Dowd
-
should we be using the vocab in the book to describe software systems to
be more accurate? Is it really wrong to say interaction instead of
scenario?
-
Are scenarios essential code for objects to communicate with one another?
-Todd
Miscellaneous Questions
-
The chapter informs us that types "define a specification or one or more
interfaces for classes" (57). If a class defines an interface that extends
multiple interfaces, what do we know about the class' inheritance? --Khong
-
Could you please expand on the descriptions of the one-level, two-level,
and three-level models, I'm not clear on the advantages of each. -Todd
-
Could you elaborate on n level instantiation, or at least the 3-level
one? (Raz Magar)
-
Can you give more details on how a society should be defined? -Jonathan
Kensler
-
If classes/types are antisymmetric, what does that mean? The author uses it
in two different ways, on pages 59 and 60. -Peter Likarish
-
When do we use synchronous and when do we use asynchronous communication?
-
Syncronous communication does not require that the receiver is an active
object. Why does it have to be active in asyncronous communication? Elias
Vafiadis
-
This chapter described the specific parts of the Object-Oriented paradigm,
and the figure 3-23 (the summary) does not describes the details. I am
confused and lost now. Could you please explain this paradigm with another
diagram, which consists of most of the jargons we learned in this chapter?
--Hisako
-
In Riel, it was emphasized that work needs to be diffused, and not go
through a central object, but in Alhir a hierarchical organization of
object-oriented programming seems to be dominate. Did I misinterpret it, or
is it a difference in opinion between the two authors?
-
What are the more important reasons for using encapsulation or information
hiding? --Khong
-
Where does Java fit in the descriptions of Object-Oriented Variations? What
are some examples of languages from the other variations? Are there
variations other than the ones discussed in the book?
This document is available on the World Wide Web as
http://www.walker.cs.grinnell.edu/courses/223.sp02/read-alhir1-3b.html