Class Hierarchy Tree

The class hierarchy tree or inheritance tree is a classification of object types in the object-oriented programming that defines the objects as the instantiations of classes and connects the groups of classes by the relationships of inheritance, such as "extends", "inherits", "is an abstraction of", and "an interface definition". The class can be determined in terms of other classes and defines the state and behavior specific to the objects of this class. At the top of the hierarchy is a single base class, all other classes derive from it forming the hierarchy. Graphically, the hierarchy is usually represented as a tree with designated relationships between the classes. The structure of any class hierarchy greatly depends on the language used for its writing. In some cases, the hierarchies can have multiple roots (base classes) and multiple trees, which later merge into one another. Such language as Java is limited to the single inheritance, so its class hierarchy is built with a single root.

The class hierarchy and correspondingly the class tree can be as deep as needed. The instance variables and methods are inherited by the classes down through the hierarchy, but also can be redefined in a subclass. Each derived class inherits the data and functions of the base class, the classes of each next level inherit the methods of the previous one that is their parent class. Thus, the more down is the class in the hierarchy, the more specific it is.

Class Hierarchy Tree solution enhances the ConceptDraw DIAGRAM and ConceptDraw MINDMAP software functionalities with a wide collection of samples and a large set of pre-made vector shapes, smart and direct connectors allowing designing the Class Hierarchy Trees and Class Diagrams, object oriented classes, making easier the object oriented programming, illustrating the object oriented programming concepts, the generalization and inheritance in Java class and Python class, as well as designing the Class Hierarchy Mind Maps and autogenerating them in Class Tree Diagrams in ConceptDraw DIAGRAM files. This solution is the ideal instrument for all IT and web specialists, web-designers, web-programmers, and lecturers, allowing them to build a class hierarchy correctly and clearly, to organize the code, and to visually demonstrate the interactions and work of classes.


This solution contains 10 examples and 2 libraries containing 27 vector graphics and icons, to allow you to create professional looking documents.

Design Elements — Class Tree Blocks

Design Elements — Class Tree Blocks

Design Elements — Class Tree Connectors

Design Elements — Class Tree Connectors

Examples

There are a few samples that you see on this page which were created in the ConceptDraw DIAGRAM application by using the Class Hierarchy Tree solution. Some of the solution's capabilities as well as the professional results which you can achieve are all demonstrated here on this page.

All source documents are vector graphic documents which are always available for modifying, reviewing and/or converting to many different formats, such as MS PowerPoint, PDF file, MS Visio, and many other graphic ones from the ConceptDraw Solution Park or ConceptDraw STORE. The Class Hierarchy Tree solution is available to all ConceptDraw DIAGRAM users to get installed and used while working in the ConceptDraw DIAGRAM diagramming and drawing software.

Example 1: ECB Class Diagram

This diagram was created in ConceptDraw DIAGRAM using the combination of libraries from the Class Hierarchy Tree solution. An experienced user spent 5 minutes creating this sample.

This sample diagram illustrates the ECB (Entity-Control-Boundary) Class Diagram. The analysis object model instantiates the ECB Pattern that is a simplification of the Model-View-Controller (MVC) Pattern. The ECB divides the system into three types of classes, these are the entities, controls, and boundaries, which are also official UML class stereotypes. The entities are the objects representing system data, such as Product, Customer, Transaction, Cart, and so on. The boundaries are the objects that interact with the system actors, these are ServerProxy, UserInterface, DataBaseGateway, etc. And finally the controls — these are objects that are the mediates between the boundaries and entities, and organize the execution of commands coming from the interaction of entity and boundary objects. Typically, the controls correspond to use cases in the design model. For their representation the UML use some special icons, but in this diagram, there are no special icons and all they are represented as boxes.

ECB Class Diagram

Example 2: Entity Control Boundary Pattern

This diagram was created in ConceptDraw DIAGRAM using the combination of libraries from the Class Hierarchy Tree solution. An experienced user spent 5 minutes creating this sample.

This diagram sample represents the Entity-Control-Boundary Pattern constructed in ConceptDraw DIAGRAM software using the special symbols from the common UML set of symbols. You can see the actors, boundaries, controllers, and entities connected with each other by the lines. The last three are represented as circles of different colors, for each group is chosen its own color; the actor looks like a man. The entities with which the system interacts in the course of its work are called actors, and each actor expects that the system will behave in a strictly defined and predictable manner. The boundary is the class accessible from the outside, the controller is responsible for the execution of different operations, the entity can contain the validation or the business logic. The entity classes model the durable information that is processed by the system, as well as a behavior associated with this information. This Entity-Control-Boundary Pattern is effective when creating business-oriented components.

Entity Control Boundary Pattern

Example 3: Generalization in Class Diagram

This diagram was created in ConceptDraw DIAGRAM using the combination of libraries from the Class Hierarchy Tree solution. An experienced user spent 5 minutes creating this sample.

This sample illustrates the generalization in the Class Diagram. The generalization is a process of combining the common characteristics from two or more classes into one generalized superclass. These can be common attributes, methods, or associations. The generalization specifies that one of two related classes is a specialized form of the other, which is called a generalization of the first one. The superclass is considered a generalization of the subclass and is also known as the parent, base class, or base type. The subclass is also named the child, subtype, inheriting class, inheriting type, derived class, or derived type. The generalization is also known as inheritance or "is a" relationship. On this diagram, you can observe the generalization of two subclasses Student and Professor from one superclass Person. The generalization is shown by the arrows from the subclasses to the superclass. Typically, the generalization is a term used only for the Class Diagrams and Use Case Diagrams.

Generalization in Class Diagram

Example 4: Inheritance Hierarchy of Scala Classes

This diagram was created in ConceptDraw DIAGRAM using the combination of libraries from the Class Hierarchy Tree solution. An experienced user spent 10 minutes creating this sample.

This sample demonstrates the diagram of the inheritance hierarchy of Scala classes. Scala is a statically typed, object oriented programming language that allows simple and quick creating the component software. Scala combines the functional and object oriented programming concepts, and is primarily oriented on the easy integration with applications running on the modern virtual machines such as Java (JVM). The main Scala compiler generates Java class files that can be executed under JVM. This diagram shows that classes corresponding to the primitive types in Java, such as Boolean, Byte, Char, Double, Float, Int, Long, Short, as well as Unit type extend the AnyVal class. All other classes are subclasses of the AnyRef class, which is synonymous of the Object class from the Java virtual machine or .NET. The diagram shows that all Java classes and Scala classes are subclasses of the AnyRef class. Both AnyVal and AnyRef classes in their turn extend the Any class that is the root of the hierarchy.

Inheritance Hierarchy of Scala Classes

Example 5: Inheritance Tree Mindmap

This Mind Map illustrates the inheritance tree or the class hierarchy, which is typically formed by the classes. At this, the hierarchy can be as deep as needed. As for the hierarchy of classes in Java, there is one root class — the Object class that is a superclass for all other classes in the hierarchy. The methods are inherited automatically by the classes down through the levels in the hierarchy. All methods defined in the root class are inherited by all levels placed below. This Mind Map illustrates the multiple layers of inheritance, the Object class is represented at the top. The Character class is a subclass of the Object class, so the Object is the superclass or the parent class, and the Character class is its child or derived class. The Character class has on its turn the subclasses Digit and Letter that extend it, and the Letter class also has two subclasses — Vowel and Consonant.

Inheritance Tree Mindmap

Example 6: Ruby Class Hierarchy Mindmap

This Mind Map describes the Ruby class hierarchy. Ruby is one of the youngest programming languages, it was developed by Yukihiro Matsumoto in Japan in 1995. It is a dynamic, object-oriented, high-level open source programming language with a focus on simplicity and productivity. The Ruby language was developed on the basis of well-known programming languages, combining their most convenient functions, it is closest to the Perl and Eiffel languages by its syntax features and to the Smalltalk by the object oriented approach, as well as has features from Python, Lisp, Dylan, and CLU. The list of its features includes exception handling, iterators, closures, garbage collection, threads, and many others. The language has multithreading, realized independently from the operating system. All data in the Ruby language are the objects, each function is a method. All classes are derived from the Object class, so any object can use the methods defined in it.

Ruby Class Hierarchy Mindmap

Example 7: UML 2.2 Diagrams Hierarchy Mindmap

This Mind Map illustrates the hierarchy of UML 2.2 diagrams. The UML diagram is a graphical representation of the model of a system, which can be as now designed, or already implemented and existed. There are represented two major groups of UML diagrams: structure diagrams and behavior diagrams. The structure diagrams depict the static structure of the system and its parts on the different implementation and abstraction levels, how the parts are related and interact with each other. The behavior diagrams display the dynamic behavior of the system's objects, as well as the system's changes over time. Among the structure diagrams there are classified: Profile Diagram, Class Diagram, Composite Structure Diagram, Component Diagram, Deployment Diagram, Object Diagram, and Package Diagram. The behavior diagrams are represented by Activity Diagram, Use Case Diagram, State Machine Diagram, and Interaction Diagram that in its turn has several sub-types: Sequence Diagram, Communication Diagram, Interaction Overview Diagram, and Timing Diagram.

UML 2.2 Diagrams Hierarchy Mindmap

Example 8: Inheritance Tree

This sample was autogenerated to ConceptDraw DIAGRAM from the Inheritance Tree Mind Map made in ConceptDraw MINDMAP and shows the inheritance tree or in other words the class hierarchy. It is a strict tree formed from the classes that are inherited from each other from the top down. This hierarchy contains three levels, but as needed, the ConceptDraw DIAGRAM software lets one construct the hierarchy of any depth. You can observe one root class Object at the top of this hierarchy. It is a superclass or parent class because the Character class represented on the first level is its subclass or child class. The Character class is also parent class for the subclasses or child classes Digit and Letter represented on the second level. And, finally, on the third level, you can see the subclasses of the Letter class — the Vowel and Consonant classes. All methods are inherited by the classes from their parents from the top down through the hierarchy.

Inheritance Tree

Example 9: Ruby Class Hierarchy

This sample was automatically generated from the Mind Map created in ConceptDraw MINDMAP and opened in ConceptDraw DIAGRAM. It is a Class Hierarchy Tree made for the Ruby — the object-oriented and high-level open-source programming language. Ruby is a dynamic and carefully balanced language developed by Japan programmer Yukihiro Matsumoto. Being based on such well-known programming languages as Perl, Python, Eiffel, Lisp, Dylan, CLU, it combines their best properties, features, and functionalities. The Object class is a root class in the Ruby language and all other classes are derived from it. That's why Object is placed on the top of the hierarchy and its child classes are Module, Array, Numeric, Hash, Regexp, Ol, and String. The Numeric is a base class for all numbers — Integer and Float, the Integer in its turn includes Bignum and Fixnum. The Class and File are the derivatives for Module and Ol correspondingly. The similar hierarchy can be made for any programming language — Python class hierarchy, Perl class hierarchy, Java class hierarchy, etc.

Ruby Class Hierarchy

Example 10: UML 2.2 Diagrams Hierarchy

Being initially made as a Hierarchy Mind Map in ConceptDraw MINDMAP, this diagram was autogenerated and opened in ConceptDraw DIAGRAM depicting the hierarchy of UML 2.2 diagrams. The UML is a unified graphical modeling language used for describing, visualizing, designing and documenting the object-oriented systems. The UML impresses by its diversity of diagrams' kinds, you can observe in this diagram them all. Two large main groups are represented on the first level in the hierarchy: Structure diagrams and Behavior diagrams. When the first group describes the system's static structure and is represented by the Class Diagram, Composite Structure Diagram, Object Diagram, Profile Diagram, Component Diagram, Deployment Diagram, and Package Diagram, the second group includes the Use Case Diagram, Activity Diagram, Interaction Diagram, and State Machine Diagram, which depict the dynamic behavior of the system's objects. The group of Interaction Diagrams also counts several subtypes, such as Interaction Overview Diagram, Sequence Diagram, Communication Diagram, and Timing Diagram.

UML 2.2 Diagrams Hierarchy

Inside

Class Hierarchy Tree solution for Microsoft Windows & Apple macOS

What I Need to Get Started

Both ConceptDraw DIAGRAM diagramming and drawing software and the Class Hierarchy Tree solution can help creating the software engineering diagrams you need. The Class Hierarchy Tree solution can be found in the Software Development area of ConceptDraw STORE application that can be downloaded from this site. Make sure that both ConceptDraw DIAGRAM and ConceptDraw STORE applications are installed on your computer before you get started.

How to install

After ConceptDraw STORE and ConceptDraw DIAGRAM are downloaded and installed, you can install the Class Hierarchy Tree solution from the ConceptDraw STORE.

Class Hierarchy Tree Solution — Install

Start Using

To make sure that you are doing it all right, use the pre-designed symbols from the stencil libraries from the solution to make your drawings look smart and professional. Also, the pre-made examples from this solution can be used as drafts so your own drawings can be based on them. Using the samples, you can always change their structures, colors and data.

Class Hierarchy Tree Solution — Start Using