What is the difference between the two, like a pythonic definition and explanation?
I might post on stackoverflow later if the answers are unclear.
This is my understanding below and if it's wrong, please correct any information. Much appreciated!
1. Inheritance Classes
The Inheritance relationship between two classes exists when you have an object of one class,
and an object of another class that has some characteristic different(modified) from the previous object.
For example, an account with a balance in it and a savings account that accrues interest.
A savings account is an account in its own right, however, the modified part is that it gains interest.
NOTE: Both the account class and savings account class can have objects represented by them. Note that the savings account object has all the properties of an account, obviously. Both are Concrete Classes.
2. Abstract Classes
For an abstract class, you can't refer to it as an object. For example, the class Shape, with its subclasses
rectangle and circle, is abstract. On one side, classes Rectangle and Circle are concrete classes, meaning that you can call on it later
and return a value and such. But the class Shape itself doesn't have a real value to return; hence, it's called an
abstract class because it can't return an actual value.