Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Instance vs. Inheritance

Im learning c# and have troubles understanding what use cases inheritance has in comparison to instances?

To put it into a context, i am making a console rpg, and my current understanding is that I should make a superclass/baseclass npc from which I inherit 3 subclasses mage, paladin and thief, from which i each instance High level mage, low level mage.

Does it make sense or is there a problem in my logic? Would this also work the other way around with inheritance/instance swapped?

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

>Solution :

Comparing instances to inheritance is akin to comparing apples and oranges. They are more or less unrelated. Inheritance is used to define the heirachy of class definitions, whereas instances are when you create an actual instance of one of those classes.

One (but by far not the only) question you need to ask yourself when considering if inheritance is the right choice is do the subclass and superclass share an is a relationship? If the answer is yes, you might want to use inheritance. If the answer is maybe or no then you almost certainly don’t.

To give you some examples.

q: Does a class Mercedes share an is a relationship with a class Car.
a: Maybe! It’s much more likely you just simply have a class Car which has a property which is it’s Make (and Model etc).

q: Does a MyWebPage share an is a relationship with class BaseWebPage
a: Probably, yes. This is a common way that inheritance is used. MyWebPage overrides some functionality of the base class to control rendering (as one example)

Back to your example. Does class Mage Share an is a relationship with Npc…. answer is another "Maybe". For it to make sense to use inheritance your Mage must override some of the base functionality of Npc – you might have something like the Car example above.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading