LLD - Design — Parking Lot SystemHow would you extend the Vehicle class to support different vehicle types (car, bike, truck) while keeping the design clean?ACreate separate unrelated classes for each vehicle typeBAdd a string field 'type' in Vehicle classCUse inheritance with subclasses Car, Bike, Truck extending VehicleDStore vehicle type in Spot class insteadCheck Answer
Step-by-Step SolutionSolution:Step 1: Consider clean design principlesUsing inheritance allows specific behavior per vehicle type.Step 2: Apply inheritanceCreate subclasses Car, Bike, Truck that extend Vehicle for clarity and extensibility.Final Answer:Use inheritance with subclasses Car, Bike, Truck extending Vehicle -> Option CQuick Check:Inheritance for types = C [OK]Quick Trick: Use subclasses for different vehicle types [OK]Common Mistakes:MISTAKESUsing string field leads to messy codeCreating unrelated classes breaks hierarchyStoring type in Spot mixes responsibilities
Master "Design — Parking Lot System" in LLD9 interactive learning modes - each teaches the same concept differentlyLearnWhyDeepArchTryChallengeDesignRecallScale
More LLD Quizzes Behavioral Design Patterns — Part 1 - State pattern - Quiz 12easy Behavioral Design Patterns — Part 1 - Observer pattern - Quiz 12easy Behavioral Design Patterns — Part 1 - State pattern - Quiz 7medium Behavioral Design Patterns — Part 2 - When to use which behavioral pattern - Quiz 7medium Design — Elevator System - Why elevator design tests state machines - Quiz 7medium Design — Elevator System - Why elevator design tests state machines - Quiz 12easy Design — Library Management System - Class design (Book, Member, Librarian, Loan) - Quiz 3easy Design — Library Management System - Why library management tests CRUD design - Quiz 2easy Design — Library Management System - Search functionality design - Quiz 10hard Design — Parking Lot System - Parking strategy pattern - Quiz 8hard