UML Class Diagram Tutorial

Learn how to make classes, attributes, and methods in this UML Class Diagram tutorial. There’s also in-depth training and examples on inheritance, aggregation, and composition relationships.

UML (or Unified Modeling Language) is a software engineering language that was developed to create a standard way of visualizing the design of a system. And UML Class Diagrams describe the structure of a system by showing the system’s classes and how they relate to one another.

This tutorial explains several characteristics of class diagrams. Within a class, there are attributes, methods, visibility, and data types. All of these components help identify a class and explain what it does.

There are also several different types of relationships that exist within UML Class Diagrams. Inheritance is when a child class (or subclass) takes on all the attributes and methods of the parent class (or superclass). Association is a very basic relationship where there’s no dependency. Aggregation is a relationship where the part can exist outside the whole. And finally, Composition is when a part cannot exist outside the whole. A class would be destroyed if the class it’s related to is destroyed.

Further UML Class Diagram information:


Learn more and sign up:

Follow us:


Credits for Photos with Attribution Requirements
Tortoise – by Niccie King –
Otter – by Michael Malz –
Slow Loris – by David Haring –
Creep – by Poorna Kedar –
Visitor Center – by McGheiver –
Lobby – by cursedthing –


Xem thêm bài viết khác:

43 thoughts on “UML Class Diagram Tutorial

  1. You guys didn't publish a component diagram tutorial. A diagram class is not complete without a Component diagram tutorial.

  2. the animal class has private attributes and methods so the child classes can't access theses attributes and methods, I think the attributes in the animal class should be changed to protected or else, need to implement some public get & set methods in the animal class in order to access the attributes via base classes.

  3. Thank you Lucidchart. Thank you Zach. Instead of having to follow some multi-staged online class, this makes it very concise and very understandable.

  4. Animals aren't what programmers use to create classes for. Neither are cars, boats nor amphibious cars. Furthermore: animals don't use to have names, nor ID:s, they just exist. The only sane examples of inheritance that aren't technical I've ever heard about are geometrical shapes, where circumference and surface is fully dependent on the kind of shape, and quantity versus per-item wares from a warehouse, where the quantity bought has different types.

  5. i dont know if this comment will be replied or not. but i have a question.
    how did we define a class? and how did we define a class as abstract class, from your example, animal treated as abstract class but not the user class. why ?
    thanks if some one replied to this question

  6. Packages must be akin to assemblies in c# and use the internal keyword. Is there a language that uses package as a keyword?

  7. I feel the same as Brad Hleronymus expressed it. "Let's ask youtube for a quick 101 on the subject", et voilá, this one showed up on top. Clever Lucidchart stunt.

  8. okay, I have to make the class diagram of my university project, it's a "collaborating software".
    I have a question, I don't know if the class diagram of my project has to focus on how works the different modules and what actions I can do in these or how the persons that work on my software unfold on it.
    Please, somebody can help me whit my question.

  9. Huh, I already knew this channel from their funny animal diagram videos. Now I was searching for a tutorial for my CS class and they suddenly popped up. Very surprised… great explanation though!

  10. Superb video.. He explained UML diagram clearly and really fast.. it saved my time.. I would have spent 2 hours reading about it… One video is worth 20 pages of reading…

  11. When you get to the part where it sounds like he says "This arrow tells us that customer is a child abuser," and you expect to see this in the comments, you know people are paying attention and actually watching the entire video. Good job! lol

  12. My professor is absolute horse shit and you taught what was basically 3 lectures worth of material in ten minutes. Thank you so much! I appreciate how fast and concise this video was designed.

  13. the best explained class diagram till now that i have found over internet. Easy and all covered. Thanks for sharing this video:)

  14. How do I know Otter eats Sea Urchin or the other way around? Connection line for association relationship doesn't seem to imply direction.

  15. I know I'm super late but how do I create attributes for lets's say, a traffic light program. I don't know what data type to use for a trafficlight?

Leave a Reply

Your email address will not be published. Required fields are marked *