Understanding why the extends arrow points in the opposite direction

1.21 gigawatts picture 1.21 gigawatts · Mar 22, 2012 · Viewed 18.4k times · Source

In class diagrams I typically see something like ClassA extends ClassB where the arrow head points to ClassA. Example, here, http://bit.ly/GFakDu. This has always confused me. Why is the arrow head not pointing to ClassB?

enter image description here

Answer

Christian picture Christian · Mar 23, 2012

UML is simply used wrong in those diagrams. The arrow head must be a triangle (not an open one) it must point into the other direction and it is called realizes not implements. So if I did not entirely misinterpret the diagrams the author (of the diagram or of the software which created them) simply did not know how to use UML correctly.

In this diagram (just found by googling) you can see a correct visualization of a class "SearchService" realizing (implementing) the interface "SiteSearch".

Interface Realization

In the next diagram several classes are generalized by (specialize, extend) the class "Account".

Generalization

On this site you can get an overview (looks correct on the first glance). If you want to be sure you should look into the specification (find pdf download there).