In general, the super keyword can be used to call overridden methods, access hidden fields or invoke a superclass's constructor. In fact, multiple inheritance is the only case where super() is of any use I would not recommend using it with classes using linear inheritance, where it's just useless overhead. As for chaining super::super, as i mentionned in the question, i have still to find an interesting use to that For now, i only see it as a hack, but it was worth mentioning, if only for the differences with java (where you can't chain super). I'm currently learning about class inheritance in my java course and i don't understand when to use the super() call
I found this example of code where super.variable is used Super e>) says that it's some type which is an ancestor (superclass) of e Extends e>) says that it's some type which is a subclass of e (in both cases e itself is okay.) so the constructor uses the Extends e form so it guarantees that when it fetches values from the collection, they will all be e or some subclass (i.e How do i call the parent function from a derived class using c++
Within each class there is a print Can't be called from main method I wrote the following code When i try to run it as at the end of the file i get this stacktrace 'super' object has no attribute do_something class parent Super in generics is the opposite of extends
Instead of saying the comparable's generic type has to be a subclass of t, it is saying it has to be a superclass of t The distinction is important because extends tells you what you can get out of a class (you get at least this, perhaps a subclass) Super tells you what you can put into the class (at most this, perhaps a superclass)
OPEN