Track 11 · Lesson 12 of 12
Designing with classes: inventory mini project
Decide which classes a program needs and what each is responsible for, define shared interfaces with abstract base classes, and build an inventory and ordering system in milestones.
You will be able to
- Split a problem into small classes, each with one clear responsibility
- Choose between inheritance, composition and plain data classes for each part of a design
- Define an interface with abc.ABC and @abstractmethod, and implement it in subclasses
- Build a multi-class inventory and ordering system step by step, keeping every object's data valid
Included with a Formula Quest membership
It has 5 graded exercises with feedback, hints and solutions. Python Quest is included in Formula Quest memberships that cover Python; membership and billing are managed on Formula Quest.
View Formula Quest memberships
Tracks 1 and 2, the first lesson of every track, the playground and the dataset library are free.