The difference between normal inheritance and abstract inheritance is that an abstract class must be inherited or it could cause compile issues (C++ would have run-time issues) in the program or not function properly as they are built to allow "children" classes to specialize in certain functions.
For example, in a popular game such as Team Fortress, all the player classes have similar traits but some classes can vary such as in Team Fortress 2, a Spy can use a cloak and become invisible or the Scout can double jump. Those traits are specific to that class and cannot be done by any other class. They all have traits in-common though, such as using Health, Weapons, Movement Speed, etc.
Now that I've explained this, time to move onto the difference between Design-Time and Run-Time. I'd prefer to explain this phenomenon as Static Controls/Classes and Dynamic Controls/Classes as Design-Time doesn't technically apply to all languages but only languages that have a Form Designer such as VB.NET.
In any case, the difference between the two is that there are static objects which will always be in the program and there are objects that may or may not be created and deleted "on-the-fly" such as extra form controls (Text Box, Labels, Buttons) and instances of classes. These things can't always be accounted for which is why it is preferred to use Static Classes as much as possible as to not accidentally exceed the RAM limit at Run-Time or cause Memory leaks (which I think VB.NET handles by itself anyway)
In any case, that's all I have to say for now, till next time :D
No comments:
Post a Comment