Documenting Implementation Flashcards
What is an abstract class?
Class so general cant create direct instance of it
- contains common attriutes & sevices shared by concrete subclasses
- typically has abstract operations that cant be described
What is an interface?
Abstract class that has only abstract operations; no attributes (may have class constants)
What is meant in UML when a class name is:
italic?
underlined?
normal?
italic; abstract class underline; specific instance normal; concrete class
Describe 3 different kinds of generalisation
normal; relates specific class to general class abstract class; superclass is abstract realisation; relates concrete class to abstract interace
Describe 4 different kinds of association
+normal; undirected conceptual relationship
+directed; structural relationship with sense of direction
+aggregation; whole/parts relationship; parts coordianted by whole
+composition; whole/parts exclusive relationship; parts owned by whole
Describe 4 different kinds of navigation
+undirected; says nothing about navigation
+navigable; may navigate in direction; says nothing about reverse
+non-navigable; may not travel in direction; says nothing about reverse
+directed; one way navigation
Describe 3 different kinds of end-role ownership
Default; association owns both end-roles-
One owner; x owns reference to y
Strongly-coupled; both classes own reference to each other
Describe 3 styles of association
Standard; wth end roles & multiplicities
Named; helps reading of association (not for navigation)
Class; stores extra attributes belonging to association as a whole
What is encapsulation?
fundamental principle fo object-oriented programming:
- information hiding
- modular protection
What UML symbol is used to indicate the visibility of a class is: public? private? protected? package?
+ public
- private
# protected
~ package
What is the default visibilty of a package?
public
what is the difference between import and access?
import; imported thing is treated as public
access; accessed thing is treated as private
What is the difference between a class, an object and a role?
Class: models required structure and behaviour Object; models a specifici occurence of data during an execution; an instance of a class Role; models a typical object/refernce to an object
What is a UML sequence diagram used for?
Illustrates flow of messages between object roles (rather than specific instances)
while a method is being executed, role has focus of control
IN a UML sequence diagram; what is the difference between using a filled arrowhead and an open arrowhead with a dashed shaft?
Filled for method
open for constructor