UML 2.0 Class Diagrams

Поделиться
HTML-код
  • Опубликовано: 11 сен 2024

Комментарии • 387

  • @vlaknest
    @vlaknest 9 лет назад +176

    Guys, for aggregation and composition think of it this way
    Aggregation(empty rectangle): If a dog breed goes extinct, dogs don't go extinct.
    Composition(filled rectangle): If dogs go extinct, the dog breed also goes extinct.

    • @Staroy
      @Staroy 8 лет назад +4

      +Dedokire *Very nicely put!*

    • @gamecoolguy619
      @gamecoolguy619 7 лет назад

      *Thanks!!*

    • @kieranmoynihan1161
      @kieranmoynihan1161 7 лет назад +13

      Reworded in a more lengthy fashion:
      Aggregation: The 'Dog' contains a multitude (aggregation) of 'Breeds'; therefore, if a 'Breed' disappears, the 'Dog' remains.
      Composition: Each 'Breed' is made up of (composed of) 'Dog'; therefore, if 'Dogs' disappear, 'Breeds' can no longer exist.

    • @israelbryce113
      @israelbryce113 3 года назад

      sorry to be so off topic but does anyone know a trick to log back into an Instagram account..?
      I somehow lost the account password. I appreciate any assistance you can offer me!

    • @kennethvivaan9534
      @kennethvivaan9534 3 года назад +1

      @Israel Bryce Instablaster :)

  • @favotites9569
    @favotites9569 8 лет назад +56

    Since Dog is a (sub-)class implementing and inheriting methods from the abstract Animal class, the arrow should be on the other side (see video at 14:05)

    • @utmostcreator
      @utmostcreator 7 лет назад +4

      yea! i noticed too!
      This is must be reverse.

    • @adamhendry945
      @adamhendry945 2 года назад

      @@utmostcreator Yup, he needs to fix that.

  • @okeyxyz
    @okeyxyz 9 лет назад +107

    From your explanation of Aggregation & Composition, I think you got the notations wrong. Composition should be the filled diamond while Aggregation is the empty diamond. But you used them in the reverse.

    • @derekbanas
      @derekbanas  9 лет назад +32

      okeyxyz Sorry about that error. You are correct.

    • @Bashir000
      @Bashir000 9 лет назад +48

      +Derek Banas
      you should create an annotation to let people know about that mistake. Luckily I saw this comment, but others might not see it. Anyways thanks a lot for this video.

    • @s.s.complexcomplex9208
      @s.s.complexcomplex9208 8 лет назад +14

      +Derek Banas You made one more error. The arrow should be pointing on to the abstract class Animal and not the subclass as it is presented in the video. The "Dog "class inherits from the "Animal" abstract class - not the other way round.

    • @Chris-xl3ly
      @Chris-xl3ly 7 лет назад

      Yeah same here jeez

    • @ciaranmckenna5034
      @ciaranmckenna5034 6 лет назад

      Yeah you're right with your point

  • @GeordiLaForgery
    @GeordiLaForgery 8 лет назад +158

    Learnt more in five minutes from you than a 3 hour lecture at college :-)

    • @derekbanas
      @derekbanas  8 лет назад +17

      +Geordi La Forge Thank you for the compliment :) I'm glad I could help.

    • @wickedknock9798
      @wickedknock9798 8 лет назад +10

      +Geordi La Forge video is 16 mins dammit watch till end

    • @Ridell2549
      @Ridell2549 7 лет назад +5

      well he must have learned 9 hours worth then xD

  • @derekbanas
    @derekbanas  11 лет назад +1

    Sorry about that error. I have all the Umlet files available for download on this page newthinktank. com/videos/uml-video-tutorial/

  • @derekbanas
    @derekbanas  11 лет назад +1

    On occasion I make typos. I'm glad you liked the video regardless :)

  • @shootingblueyes
    @shootingblueyes 8 лет назад +40

    You could do voice acting. You have a great voice for this type of thing.

    • @derekbanas
      @derekbanas  8 лет назад +5

      +shootingblueyes Thank you for the nice compliment :)

  • @derekbanas
    @derekbanas  11 лет назад

    You're very welcome :) An Association occurs when a class contains a reference to another class "Has a". An Aggregation and a Composition are both Associations, but are more complex Associations. An Aggregation occurs when a class contains another class and the contained class can exist without the container class. A Composition ("Part of") also has a class that contains another. The only difference is that the contained can't exist without the container. I hope that helps

  • @ramuk-
    @ramuk- Год назад +1

    thanks derek, i remember watching these at uni, but i come back again every couple years to watch when i need to use uml at work

  • @derekbanas
    @derekbanas  11 лет назад +1

    The presentation software I use is called keynote

  • @DomantasLekavicius
    @DomantasLekavicius 8 лет назад +21

    11:40 points from Dog to Animal (Dog -> Animal), meanwhile 14:20 points from Animal to Dog (Animal -> Dog). This is misguiding.

    • @michaczapski5291
      @michaczapski5291 6 лет назад +5

      In the latter the arrow should also point towards animal: Dog -> Animal.

  • @derekbanas
    @derekbanas  11 лет назад +1

    That is really up to you and your team. In the real world i normally always used simple class diagrams and verbose sequence diagrams and never had any trouble. Normally new programmers either create overly complex UML diagrams or don't understand them at all. You will normally be at the mercy of the systems architect were you are hired. i hope that helps :)

  • @derekbanas
    @derekbanas  11 лет назад

    The association arrows are almost always pointed at the containing object. I cover that later in this series because as you pointed out I should have done it that way. A Composition Association (Filled Diamond) is one in which if the container is destroyed so is the contained object. Aggregations (Empty Diamond) is one in which if the container is destroyed the contained lives on. Composition - "Part of" Aggregation - "Owns a"

  • @derekbanas
    @derekbanas  11 лет назад

    I have seen that presented in both ways. In the real world unlike in books there are very few iron class rules. I for example always preferred to ignore most all diagrams except for sequence diagrams which I made very detailed. I never had a boss tell me what I was doing was wrong. As an architect at the time, all of the programmers under me loved working with me.

  • @derekbanas
    @derekbanas  11 лет назад

    Thank you very much :) I'm extremely happy to be able to help people all over the world. Your nice comment is very much appreciated!

  • @derekbanas
    @derekbanas  11 лет назад +3

    Thank you :) Yes I get tongue tied every once in a while because non of this stuff is scripted. Sorry about that

  • @derekbanas
    @derekbanas  11 лет назад

    This tutorial covers the UML 2.0 specification exactly. I do however know what you are referring to. Also, most people don't use the exact spec all of the time in the real world. As you'll see when you get to sequence diagrams I don't either :)

  • @Jwarddesign-ca
    @Jwarddesign-ca 11 лет назад

    Thanks for taking time to put these lessons together. It sure is nice hearing a coherent and native English-speaking instructor, as opposed to an unintelligible thick Indian accent.

  • @derekbanas
    @derekbanas  11 лет назад

    With both an Aggregation and a Composition, a class (I'll call it Dog) contains another class object (One is Bark and the other is FavoriteFood).
    With an Aggregation, since FavoriteFood could be used by other potential Animal objects (Non Dog Objects) then if the Dog object is destroyed FavoriteFood could continue to exist.
    With a Composition, Bark couldn't exist or would have no meaning without the Dog object (Assuming that no other Animals bark) Does that help?

  • @derekbanas
    @derekbanas  11 лет назад

    All architects work differently. I personally use sequence diagrams that are heavily commented. I also write very detailed usage descriptions. I make class diagrams, but I don't dwell on them. In the real world I do all of this stuff with paper and pencil. In groups I always work on a whiteboard

  • @derekbanas
    @derekbanas  11 лет назад

    Thank you very much for the compliment :) I think because I aim to satisfy people that enjoy fast videos that I stand apart from many of the other tutorial people. I'm very happy that you enjoy them. Yes, I have over 500 videos on my RUclips channel. Some of the old ones are terrible, but I do my best to always improve.

  • @luaieh
    @luaieh 11 лет назад

    My undergrad is Computer Science and I have studied UML 8 years ago. As a PhD student I couldn't find a better refreshing tutorial than yours. good job.
    can you please post your slides so we can take notes on it. That would be great
    keep it up

  • @derekbanas
    @derekbanas  11 лет назад

    Basically you need to create a use case description that goes over everything in exact detail. Then break everything into objects. Students, admins, email, everything becomes an object if it is an object in the real world. Then translate the use case description into a sequence diagram. You have the objects and the interactions, so you just have to connect them. My object oriented design tutorial shows you everything step by step. Tell me if you have questions after watching the 1st 2

  • @PeterKelley
    @PeterKelley 9 лет назад +30

    at 14:00 the generalisation (inheritance) arrow goes in the wrong direction.

    • @derekbanas
      @derekbanas  9 лет назад +9

      Peter Kelley Sorry about that error

  • @derekbanas
    @derekbanas  11 лет назад

    I check all my RUclips personal messages. The ATM system I designed isn't much different from what you want to design. Instead of passing emails it passes an ATM transaction. Replace PIN number and valid card number with userid and password. They are almost exactly the same

  • @derekbanas
    @derekbanas  11 лет назад

    You are correct. I'm sorry if I didn't make that clear. I think I got a bit tongue tied and I went back and revisited association arrows to correct any misunderstanding in the next few tutorials. Thanks for pointing that out :)

  • @derekbanas
    @derekbanas  11 лет назад

    I made a little error there. Sorry about that. Yes you should definitely make videos. There are a ton of requests I get that I just don't have time to cover.

  • @glxs9539
    @glxs9539 9 лет назад +1

    1.)@ 2:10: semantical error: encapsulation is not information hiding. encapsulation is the concept of encapsulating attributes and methods, which are logically dependent, i.e. the methods operate on the attributes.
    www.javaworld.com/article/2075271/core-
    java/encapsulation-is-not-information-hiding.html
    2.)protected elements are also accessible to classes in the same package

  • @derekbanas
    @derekbanas  12 лет назад

    thank you :) I didn't know if anyone would like these tutorials, but it is hard to teach oo design and refactoring without uml

  • @fridolin1976
    @fridolin1976 10 лет назад +14

    At 14:53 the arrow between abstract class and inheritance class points to the wrong direction or am I wrong?

    • @Didi-bz6kt
      @Didi-bz6kt 4 года назад

      No you are right, it seems like it's the opposite ( it's wrong )

  • @Ronakrktanna
    @Ronakrktanna 8 лет назад

    If only everyone had a teacher like you. If only.
    Thanks to the RUclips creators for giving people like you an opportunity to teach countless people like me who haven't had a good teacher, and most importantly, thank you!

    • @derekbanas
      @derekbanas  8 лет назад

      Thank you for the nice compliment :) I'm very happy to be of help.

  • @mainemade73
    @mainemade73 4 года назад

    Thank you for these. I am finding myself thrown into a OOA&D class with no real previous knowledge and you are thorough and do not skip "obvious" stuff like other videos do. Obvious comes with experience and these are perfect for me as a beginnger.

    • @derekbanas
      @derekbanas  4 года назад

      Thank you :) Happy I could help

  • @derekbanas
    @derekbanas  11 лет назад

    Thank you :) I do my best to put as much information into each video as possible.

  • @ethanwasme4307
    @ethanwasme4307 9 месяцев назад

    I remember going through your java tutorials over 10-15 years ago as a teen... now I'm a plumber who makes video games at a high level in their spare time lol

  • @derekbanas
    @derekbanas  11 лет назад

    I'm sorry, but I just started Android tutorials. I'm having a hard time finding the time to get those out quickly. I promise to cover Obj C as soon as possible. May God bless you as well :)

  • @derekbanas
    @derekbanas  11 лет назад

    I'm glad you found it useful. You're very welcome :)

  • @derekbanas
    @derekbanas  11 лет назад

    Thank you :) I do my best to make everything understandable. I have one more video on the syntax of UML and then I'll get into using them in real world applications

  • @Mladenac
    @Mladenac 11 лет назад

    Diagram at 14:30 says that Animal extends Dog
    I believe that you wanted to put it diffeently.
    And some slide before you put abstract class Animal below Dog.
    It was correct notation, but I believe it's more readable if abstracts are above inherited classes

  • @derekbanas
    @derekbanas  11 лет назад

    The system is all the objects combined. Break everything down into their smallest parts. If it is an object in the real world then make it an object in your use case. Watch my examples and you'll get it. I provide both fast and slow examples

  • @naromiesbeninche6975
    @naromiesbeninche6975 11 лет назад

    I have no words to describe how you change my life with your videos!
    Thank you for all your tutorials..I'm not English-Speaker but your explanations are so clear that i understand quickly!

  • @memorypalacetemplates
    @memorypalacetemplates 10 лет назад +8

    You put me in a total stupor with your Dog and Breen diagram. Composition relationship is drawn with a solid diamond. Just put an annotation at that point and yup, hammered down, everything will be fine. Other than that, good job!

  • @derekbanas
    @derekbanas  11 лет назад

    Thank you :) - is private, # is protected, + is public

  • @derekbanas
    @derekbanas  11 лет назад

    You're very welcome :) Thank you for taking the time to tell me the videos have helped

  • @softwaretest1879
    @softwaretest1879 7 лет назад

    The best explanation ever.. Your articulation of voice is amazing and gives more meaning to your words.
    Only few people know to talk like this, especially on dry subjects like requirement engineering, process modeling, diagrams etc.

    • @derekbanas
      @derekbanas  7 лет назад

      Thank you for the nice compliment :)

  • @TheRyanFellow
    @TheRyanFellow 11 лет назад

    I'm sure someone has said this, but the inheritance arrow on abstract classes is backwards from when you introduced them.
    Also, why no cheat sheet for this one? I'm printing them all out for my cube but was sad not to find one for class diagrams...
    Excellent tutorials by the way. Excellent.

  • @Dizintegrator
    @Dizintegrator 2 года назад

    14:06 The arrow is facing the wrong way :)
    With interfaces, the arrow is from Animal to Dog (which is wrong), whilst it with Inheritance at 11:23 the arrow is from Dog to Animal (which is right).
    (Took me 30 mins to figure out, but hey...)

  • @frostypawsgaming1338
    @frostypawsgaming1338 8 лет назад +7

    You actually have aggregation and composition mis-matched. From what I was thought composition has a solid diamond while aggregation doesn't this is a very strange example because it's using both. If you're trying to demonstrate both I think in theory it breaks the composition definition. And the composition is more opinionated. But if the whole dog is destroyed the part breed isn't... What are you getting at here? Kind of bad confusing example. Ambiguity error please use the scope resolution operator :: lol

    • @ottol5032
      @ottol5032 7 лет назад

      What are you getting at here? In composition the life cycle of the part class is dependant on the whole class. He is right about the diamonds as well. The part breed is destroyed if it is composition but not if it is aggregation. I like not this comment.

    • @RoyalDog214
      @RoyalDog214 6 лет назад

      Actually, you're wrong and Kristopher is right.

  • @canncodertriballian3494
    @canncodertriballian3494 6 лет назад

    This greatly increases my understanding of UML. It brings to life the definitions I see in books.

    • @derekbanas
      @derekbanas  6 лет назад

      Thank you :) I'm very happy it helped

  • @ecruzhe
    @ecruzhe 11 лет назад

    Don't know if anybody said this already but I think you've got the arrow pointing the other way around on 14:02
    Really enjoying your tutorials, btw. Planning on making my own once I feel prepared enough.

  • @alexkiany
    @alexkiany 11 лет назад

    It will be so kind of you if you initiate it not too late. As I am into objective c now a days just a beginner. Right now following lectures from stanford university on youtube but I am sure I will understand much more if you will deliver your lectures. May the CREATOR of all mankind bless your service.

  • @derekbanas
    @derekbanas  11 лет назад

    Thank you :) I edit the videos with iMovie

  • @mohamedsalah-op6ms
    @mohamedsalah-op6ms 5 лет назад

    Hello Derek
    I am taking course On object oriented design from Alberta university (from Canada ) and there is some points are different
    1- association is just when object is a parameter to method in other object class and in uml is just line (not doted line as in video)
    2- aggregation is different a way from composition in code that aggregation is when u have something like array of the object of other class (and this array may have objects or may null) but in composition the object u use from other class need to be used every time u use this object (that can happen when u declare that object in yr constructor )

    • @derekbanas
      @derekbanas  5 лет назад +1

      Thanks for the input. Yes I messed up the dotted line by accident

    • @mohamedsalah-op6ms
      @mohamedsalah-op6ms 5 лет назад

      @@derekbanas I appreciate so much your reply after 7 years from creating your video
      I learnt a lot from yr channel
      thanks a lot

    • @derekbanas
      @derekbanas  5 лет назад +1

      Thank you :) I love talking with everyone

  • @derekbanas
    @derekbanas  11 лет назад

    Thank you :) You are correct it is omitting it normally means that it doesn't matter

  • @derekbanas
    @derekbanas  11 лет назад +1

    Спасибо. Я делаю лучшее, что я могу. Я рад, что вам нравится видео.

  • @derekbanas
    @derekbanas  11 лет назад

    I'll have to take a look. Thanks for pointing that out

  • @derekbanas
    @derekbanas  11 лет назад

    Thank you very much for the nice message :) Ill cover obj c and iDevice programming after I cover android. I'll cover it with the same detail I did with java

  • @smuralimohan1
    @smuralimohan1 11 лет назад

    Derek, on the 'Abstract Class Diagrams' slide, at 14:20, If I am not wrong, the arrow between Animal and Dog classes seems to be pointing in the opposite direction. Please make a correction.

  • @TheDonkeyman45
    @TheDonkeyman45 11 лет назад

    The composite arrow should be filled and the one with aggregation should be left unfilled. Good clip tough!!!

  • @AaronFraser
    @AaronFraser 8 лет назад

    I just want to thank you for this tutorial service you provide. Currently taking an online community college course with no lectures provided and a very bland textbook; this is helping me immensely!

    • @derekbanas
      @derekbanas  8 лет назад +1

      That's great :) I'm happy that I could help

  • @ollehbudiak7150
    @ollehbudiak7150 11 лет назад

    Hi Derek,
    It seems a typo.
    The arrow should point from class Dog to abstract class Animal. Also it should be a dashed arrow.
    Best regards and thanks.

  • @HFOfficial
    @HFOfficial 11 лет назад

    You're a better teacher than my Object Oriented Development lecturer in uni. Thanks a million!

  • @derekbanas
    @derekbanas  11 лет назад

    Thank you :) Im using UmLet

  • @oldskoolloner
    @oldskoolloner 10 лет назад +7

    Great Vids on the UML series making great use of them. In the first 5secs of this vid you sound like Joe Swanson off family guy.

    • @derekbanas
      @derekbanas  10 лет назад +6

      That's funny :) I'm glad you found them useful.

  • @YoungKrieger
    @YoungKrieger 11 лет назад

    I've used this kind of diagrams on C# before, still haven't used any on Java, but I would guess they are similar.
    My questions is: are class diagrams the only build in (or added with plugin) kind of UML diagrams in the popular programming languages like Java, C# etc.
    And where are the other type of diagrams (like the others in this playlist) usually used?
    I would guess software architects and "plan makers" in non-IT jobs as well. And also one can do it for himself, with a paper and pencil

  • @patrasculucian2403
    @patrasculucian2403 6 лет назад

    Aggregation:
    Bee--------Swarm
    A Bee CAN exist without a Swarm
    Composition:
    Swarm-----------◀▶ Bee
    A Swarm CAN'T exist without any Bee

  • @CherryPauper
    @CherryPauper 6 лет назад +2

    Would have been more helpful if you just used an example to tie all these concepts together.

  • @derekbanas
    @derekbanas  11 лет назад

    Thank you very much :) Ill see if I can post the whole file so you can open it and output in any format tomorrow

  • @afzalaziz2715
    @afzalaziz2715 9 лет назад

    Abstract methods in Abstract classes cannot be private (in C#) . The eg: shown @ 14 : 48 for animal (eat and noise is shown as private.

  • @derekbanas
    @derekbanas  11 лет назад

    Thank you :) It is very nice of you to say that

  • @Katyna780
    @Katyna780 11 лет назад

    I notice that around 14:43 you mentioned that dog is a subclass of animal and having an arrow head pointing at Dog class. Now when you mentioned at 11:29 that a subclass name Dog is created from the animal superclass and having the arrowhead pointing to the Animal superclass. Other than that I will give a like. Cool stuff !!

  • @c3cris2
    @c3cris2 7 лет назад

    Great video, literally got me going for a project at work, but your soothing voice almost put me asleep here at work too!

    • @derekbanas
      @derekbanas  7 лет назад

      Thank you :) Sorry for making you tired

  • @derekbanas
    @derekbanas  11 лет назад

    You're very welcome :)

  • @derekbanas
    @derekbanas  11 лет назад +1

    You're very welcome :) I show on this picture what most of the arrows mean. newthinktank. com/wp-content/uploads/2012/12/UML-Domain-Model. png
    I hope that helps clear anything up

  • @derekbanas
    @derekbanas  11 лет назад

    Joe Swanson is on duty to serve :)

  • @habesha63
    @habesha63 9 лет назад +1

    Thanks for your short and precise videos. I was mainly watching on design patterns, now i found the UML videos very interesting as well.
    I have one comment, which i think you mistakenly used opposite side of the arrow for the concrete class inherited from Abstract class at time 14:20 . Or correct me if am mistaken too. Well done !

    • @derekbanas
      @derekbanas  9 лет назад +2

      habesha63 You're very welcome :) You are correct that subclasses normally point at the super class. Sorry about that

  • @EvaSoek
    @EvaSoek 11 лет назад

    What do you do if there is both a dependency and an association between two classes? Show both dependency and an association? or just the association since that is the 'stronger' one?

  • @stevenwerner6339
    @stevenwerner6339 11 лет назад

    you say in the video that composition is the open diamond and aggregation is the filled in diamond, and I have been taught the other way around..?

  • @leephahladira865
    @leephahladira865 11 лет назад

    I'm sure u get this alot from people, but you are just simply the best. Do you have videos on other languages too.? just incase i might need them in future. Thanks again. your videos are great .:-)

  • @Advancing_Terry
    @Advancing_Terry 11 лет назад

    Hi Derek, I just wanted to thank you! I have really been struggling with some of the concepts of OOAD and your videos are really helping. Thanks

  • @hazaqames477
    @hazaqames477 11 лет назад

    I have a question that pertains to other class diagram relationships, but I will just reference the Inheritance relationship. In your example, you depicted the Dog and Animal classes by putting the subclass ABOVE the superclass. I have no idea, so I am asking... Is that the standard way of depicting this relationship? My own logic processes, which may be wrong, have thought of the most generic class at the top, followed by more and more specific versions (i.e. subclasses) below. Is that wrong?

  • @vnssooraj
    @vnssooraj 9 лет назад

    Derek Banas hi derek at 11:21 i think that "-name:String" should not be written in child class because it is marked as private in parent class indicated by "-" symbol...I would like to know your opinion on this..thanks and keep up the great work :-)

  • @alexkiany
    @alexkiany 11 лет назад

    Your video has cleared much of the concepts I was fearing of. However I anticipate that would be a great service from you and help if you upload objective c programming tutorials. I love your voice pitch and clarity you use to simplify things. If possible plz bring your lectures in detail about OBJECTIVE C programming step by step.

  • @secretstarallstarz
    @secretstarallstarz 11 лет назад

    so what is the answer? also when u were explaining aggregation u had d unshaded diamond not at the whole(dog) but at the part(breed). you had the shaded diamond at the right place according to the text(sommerville). So, u need to clear up where the unshaded one should rlly be as, according to the text book, it's drawn at d wrong class.

  • @armando.aleandroestrada844
    @armando.aleandroestrada844 10 лет назад +1

    Great Videos!! Very Helpful and well structured.
    But, next time you make a playlist, could you number the videos (it helps to find the following video if you are watching it outside the playlist)??
    Thanks for all your efforts!!!

  • @frostypawsgaming1338
    @frostypawsgaming1338 8 лет назад

    I believe you have aggregation defined wrong. aggregation is the process in which you inherit class using a instance not inheritance, I believe it to be so.

  • @derekbanas
    @derekbanas  11 лет назад

    You're welcome :)

  • @RichardDunnisainmdom
    @RichardDunnisainmdom 8 лет назад +1

    Am I correct in thinking that at 11:30, the attribute '- name' is private, therefore is not inherited by the 'Dog' subclass?

    • @iworshipjesus1597
      @iworshipjesus1597 8 лет назад

      +Richard Dunn Exactly, only public and protected properties are inherited

  • @derekbanas
    @derekbanas  12 лет назад

    In my tutorial JAVA VIDEO TUTORIAL 53 I show you how to rotate polygons which include every shape :) I hope that helps

  • @derekbanas
    @derekbanas  11 лет назад

    Sorry, but I don't have them

  • @sadaquekhan
    @sadaquekhan 7 лет назад

    Could you briefly explain in a basic way a bi-directional (standard) association ? a code example would be much appreciated.
    Thanks in advance.

  • @sigillumdei887
    @sigillumdei887 6 лет назад

    @14:00 The arrow should be in reverse. Dog should point to Animal. At work in the first week I made over and over this mistake to point a base class to a inherited one when software concepts were presented (this is natural human thinking) this is why mistakes appear. Finally I was able to correct that thinking as upper class derives the base class.

  • @codemasterz6074
    @codemasterz6074 8 лет назад

    fantastic classes. man you are gifted to teach. congrats. one advice, put the number of lecture in the title. I`m just going back and forth to see which one is the next lecture. other than that.. man I wish I had you as my teacher.

    • @derekbanas
      @derekbanas  8 лет назад +1

      Thank you for the nice compliment :) I'll see what I can do about the titles

  • @shayansiddiqui4896
    @shayansiddiqui4896 7 лет назад

    Hey Derek, cool video. However I was wondering numOfDogs(6.17) is static and private as well. Shouldn't it be public.

  • @derekbanas
    @derekbanas  11 лет назад

    Thank you very much :) I do my best

  • @qwe123727
    @qwe123727 9 лет назад

    Hello Derek, this is one good example of abstraction. 1) using java class codereview.stackexchange.com/questions/83387/building-data-abstraction-for-line-segments-using-type-abstraction
    2) using python function objects
    codereview.stackexchange.com/questions/83626/building-data-abstraction-and-adt-for-rectangle-using-objects

  • @derekbanas
    @derekbanas  11 лет назад

    Sorry I made a little error.

  • @dineshandavar
    @dineshandavar 11 лет назад

    I cannot still understand the difference between composition and aggregation.. is there any specific video to explain the differences?

  • @sridharthirumal2065
    @sridharthirumal2065 11 лет назад

    Hello Derek,
    Its an excellent video. In the Abstract class and Interface diagrams, the methods are shown with hyphen ((-) negative symbol). Should it not be plus (+) symbol ? -- Sridhar

  • @akshaygroover
    @akshaygroover 10 лет назад

    Shouldn't the visibility modes of the methods in the 'Animal' class in ABSTRACT CLASS DIAGRAMS be declared protected (#) or public (+) for the subclass 'Dog' to inherit them?

  • @daniels.8419
    @daniels.8419 11 лет назад

    Thank you Derek for another great tutorial. But i don't get when to use an association. For example in java, i have class dependency between A and B when class A has a method with type B as argument in one method. Composition is used when one class has an attribute which is of type of another class, thats clear as well. But when do i figure out if i have an association if i look at some java code?
    Best regards