day 7
some oops notes i'll drop here: In general terms, an abstract class is a class that is intended to be used for inheritance. It cannot be instantiated. An abstract class can consist of both abstract and non-abstract methods. In C++, an abstract class is a class that contains at least one pure virtual function. In Java, an abstract class is declared with an abstract keyword In Python, we use ABC (Abstract Base Class) module to create an abstract class. A virtual function is a function that is used to override a method of the parent class in the derived class. It is used to provide abstraction in a class. In C++, a virtual function is declared using the virtual keyword, In Java, every public, non-static, and non-final method is a virtual function. Python methods are always virtual.