In this lesson, we’ll identify and design the classes, abstract classes, and interfaces based on the requirements that we have previously gathered from the interviewer in our Amazon shopping system.

Components of Amazon

As mentioned earlier, we should design the Amazon online shopping system using a bottom-up approach.


The Customer abstract class refers to a user trying to buy a product from Amazon. Hence, it can access the items present in the shopping cart through the getShoppingCart() function.

A customer can be one of the following:

  1. Authenticated users

  2. Guest users

The details of these are given below:

  • The AuthenticatedUser class refers to an individual that contains a registered account on Amazon.

  • The Guest class refers to an individual without an account who can only search for and view the products on the Amazon website and add them to the shopping cart. However, they need to register an account on Amazon to place an order.

The class diagram of all these is provided below:

Level up your interview prep. Join Educative to access 70+ hands-on prep courses.