Leetcode Object Oriented Design Principles