Presentation is loading. Please wait.

Presentation is loading. Please wait.

Department of Geoinformation Science Technische Universität Berlin WS 2006/07 Geoinformation Technology: lecture 2 (b) Object Modeling Prof. Dr. Thomas.

Similar presentations


Presentation on theme: "Department of Geoinformation Science Technische Universität Berlin WS 2006/07 Geoinformation Technology: lecture 2 (b) Object Modeling Prof. Dr. Thomas."— Presentation transcript:

1 Department of Geoinformation Science Technische Universität Berlin WS 2006/07 Geoinformation Technology: lecture 2 (b) Object Modeling Prof. Dr. Thomas H. Kolbe Institute for Geodesy and Geoinformation Science Technische Universität Berlin Credits: This material is mostly an english translation of the course module no. 2 (‘Geoobjekte und ihre Modellierung‘) of the open e-content platform www.geoinformation.net.www.geoinformation.net

2 2 T. H. Kolbe – Geoinformation Technology: lecture 2 Department of Geoinformation Science WS 2006/07 Object-orientation: Generalization  Specialization  Abstraction principle for the hierarchical structuring of a model  a specialized class concretises a more general class by adding specific properties;  the general class is called superclass, the specialized class subclass;  one superclass can have different subclasses also: one subclass can have different superclasses (also called parent classes) general class specialized class generalization specialization

3 3 T. H. Kolbe – Geoinformation Technology: lecture 2 Department of Geoinformation Science WS 2006/07 OO: Example #1 for generalization, specialization  „staff_member“ is a more general concept as „non_ research_associate“, „research_associate“ or „professor“  „staff_member“ is the superclass  „non_ research_associate“, „research_associate“, and „professor“ are subclasses staff_member research_associateprofessornon_ research_associate

4 4 T. H. Kolbe – Geoinformation Technology: lecture 2 Department of Geoinformation Science WS 2006/07 OO: Example #2 for generalization, specialization geometrical figure circlerectangletriangle  „geometrical figure“ is a more general concept than „triangle“, „circle“ or „rectangle“

5 5 T. H. Kolbe – Geoinformation Technology: lecture 2 Department of Geoinformation Science WS 2006/07 Object-orientation: Taxonomy  generalization and specialization describe a taxonomical (i.e. systematic) relationship between general and specific concepts Example: Taxonomy of flies with two wings (from biology) Diptera – Flies (with two wings) Brachycera - flies Nematocera - mosquito Orthorrhapha Cyclorrhapha Aschiza Schizophora Acalyptratae Calyptratae

6 6 T. H. Kolbe – Geoinformation Technology: lecture 2 Department of Geoinformation Science WS 2006/07 Object-orientation: Aggregation vs. Generalization What is the difference between an aggregation and a generalization? aggregation and generalization build hierarchies, but :  aggregation relates objects  generalization relates classes  Please note the systematic difference between following relationships University – Faculty (aggregation of objects) Rectangle – Figure (generalization of the same object)

7 7 T. H. Kolbe – Geoinformation Technology: lecture 2 Department of Geoinformation Science WS 2006/07 Object-orientation: Inheritance and specialization (I) A superclass represents a concept. A subclass specializes this concept, such that that it  explicitly adopts the attributes of the superclass Inheritance of properties  explicitly adopts or overrides methods of the superclass Inheritance of the behavior  defines new attributes  defines new methods

8 8 T. H. Kolbe – Geoinformation Technology: lecture 2 Department of Geoinformation Science WS 2006/07 Object-orientation: Example #1 for Inheritance student - name - first name - registration number - subject - address - date of birth - registration-date - Bachelor - Master staff member - name - first name - personnel number - institute - address - date of birth - bank account no. - salary

9 9 T. H. Kolbe – Geoinformation Technology: lecture 2 Department of Geoinformation Science WS 2006/07 Object-orientation: Example #1 for Inheritance student - registration number - subject - registration-date -... staff member - personnel number - bank account no. - salary -... person - name - first name - address - date of birth

10 10 T. H. Kolbe – Geoinformation Technology: lecture 2 Department of Geoinformation Science WS 2006/07 Object-orientation: Example #2: Overriding geometrical figure circlerectangletriangle -center: Point -visible: Boolean +display ( ) +delete ( ) +move ( ) -a: number -b: number -c: number +display ( ) +delete ( ) -a: number -b: number +display ( ) +delete ( ) -radius: number +display ( ) +delete ( )

11 11 T. H. Kolbe – Geoinformation Technology: lecture 2 Department of Geoinformation Science WS 2006/07 Object-orientation: Inheritance and specialization (II)  subclasses differ systematically wrt. each other  attributes and methods of a class represent a self- contained concept  the specialized class is fully compatible to the general class  attributes and methods of the superclass do not have to be repeated in the specification of the subclass(es) geometrical figure circle rectangletriangle -center: Point -visible: Boolean +display( ) +delete( ) +move( ) -a: number -b: number -c: number +display ( ) +delete ( ) -a: number -b: number +display ( ) +delete ( ) -radius : number +display( ) +delete( )

12 12 T. H. Kolbe – Geoinformation Technology: lecture 2 Department of Geoinformation Science WS 2006/07 Object-orientation: Polymorphism  congeneric (similar) methods, that are to be executed on objects of different classes, can be named with the same identifier  when calling such a method, the (most) object- specific one is activated in each case  advantage of the polymorphism: specific objects can be handled in a general way triangles, circles, and rectangles can be treated as geometrical figures geometrical figure circle rectangletriangle -center: Point -visible: Boolean +display ( ) +delete ( ) +move ( ) -a: number -b: number -c: number +display( ) +delete( ) -a: number -b: number +display ( ) +delete ( ) -radius : number +display ( ) +delete ( )

13 13 T. H. Kolbe – Geoinformation Technology: lecture 2 Department of Geoinformation Science WS 2006/07 Example #2 with spatial reference

14 14 T. H. Kolbe – Geoinformation Technology: lecture 2 Department of Geoinformation Science WS 2006/07 Example #2: state - district - municipality - parcel state district municipalityproperty 1..* -name: string -inhabitants: number -area: number +getname( ): name +getinhabitants( ):number +getarea( ): number -name: string -inhabitants: number -area: number +getname( ): string +getinhabitants( ):number +getarea( ): number -owner: Person -area: number +getowner( ): Person +getarea( ): number -name: string -inhabitants: number -area: number +getname( ): string +getinhabitants( ):number +getarea( ): number Declare the attributes Declare the methodsName the relationshipsDeclare the multiplicities 1..*

15 15 T. H. Kolbe – Geoinformation Technology: lecture 2 Department of Geoinformation Science WS 2006/07 Example #2: property - parcel - polygon Can this subdivision of space can be extended further than "property"? at first: transition from the legal object "property" to the geometrical object "polygon" property parcelpolygon 1.. n geometry

16 16 T. H. Kolbe – Geoinformation Technology: lecture 2 Department of Geoinformation Science WS 2006/07 Example #2: Topological relationships of polygons face node edge bounds

17 17 T. H. Kolbe – Geoinformation Technology: lecture 2 Department of Geoinformation Science WS 2006/07 Example #2: polygon – edge – node - point polygonedge pointnode 1..23.. * 2.. * 1 1 2  bounds  bounds geometry Declare the multiplicitys and names Name the relationships

18 18 T. H. Kolbe – Geoinformation Technology: lecture 2 Department of Geoinformation Science WS 2006/07 Example #2: Class ‘point‘ point - latitude: degree - longitude: degree - X: number - Y: number - projection: text - registration: text=“GPS“ - registration-date: date + getlatitude( ) : degree + getlongitude( ) : degree + setlatitude(lat: degree) + setlongitude(lon: degree) + getX( ) : number + getY( ) : number +...

19 19 T. H. Kolbe – Geoinformation Technology: lecture 2 Department of Geoinformation Science WS 2006/07 Data Modelling Literature Balzert, Heide: Lehrbuch der Objektmodellierung. Akademischer Verlag, 1999 Oestereich, Bernd: Objektorientierte Softwareentwicklung: Analyse und Design mit der Unified Modeling Language. 4. Auflage - Oldenbourg, München Wien, 1998 (english titles will be added soon)


Download ppt "Department of Geoinformation Science Technische Universität Berlin WS 2006/07 Geoinformation Technology: lecture 2 (b) Object Modeling Prof. Dr. Thomas."

Similar presentations


Ads by Google