[go: up one dir, main page]

0% found this document useful (0 votes)
17 views2 pages

E Commerce

The document outlines the design of an Ecommerce Shopping Cart System, detailing the classes and their functionalities, including Product, ShoppingCart, and Order classes. It emphasizes key programming concepts such as encapsulation, inheritance, and polymorphism, explaining how they are applied within the system. Functional requirements for managing a product catalog, adding/removing items from the cart, viewing cart contents, and the checkout process are also specified.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views2 pages

E Commerce

The document outlines the design of an Ecommerce Shopping Cart System, detailing the classes and their functionalities, including Product, ShoppingCart, and Order classes. It emphasizes key programming concepts such as encapsulation, inheritance, and polymorphism, explaining how they are applied within the system. Functional requirements for managing a product catalog, adding/removing items from the cart, viewing cart contents, and the checkout process are also specified.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

Ecommerce Shopping Cart System

1. Classes and Objects


Product Class (Base Class)
Attributes (Encapsulation):
name: Name of the product.
price: Price of the product.
quantity: Available stock quantity.
Methods:
display_product_info(): Displays the product details like name, price, and
quantity.
update_stock(quantity): Method to update the stock after a purchase or return.
ShoppingCart Class (Encapsulation)
Attributes:
cart_items: A list to store the products added to the cart.
Methods:
add_to_cart(product, quantity): Adds a product and its quantity to the cart
(Encapsulation).
remove_from_cart(product): Removes a product from the cart.
view_cart(): Displays all products in the cart with quantities and total price.
calculate_total(): Calculates the total price of the cart items.
Order Class (Inheritance)
Attributes:
cart: An instance of the ShoppingCart class.
order_status: The status of the order (e.g., “pending”, “completed”).
Methods:
checkout(): Completes the order, changes status to “completed”, and reduces stock
based on the cart contents.
2. Inheritance
Order Class (Derived Class)
The Order class inherits from the ShoppingCart class.
It extends functionality by including the checkout() method to process payments and
update order status.
The order will also affect the stock of products, which can be handled by invoking
update_stock() from the Product class.
3. Polymorphism
Polymorphic Behavior in Methods:
Implement a polymorphic display_product_info() method:
In the Product class, this method displays basic product information.
Polymorphism in Cart Calculation:
Implement polymorphic behavior when calculating the total cost of the cart.
The ShoppingCart class can use polymorphism to invoke the correct calculate_total()
method.
4. Encapsulation
Encapsulation in Product Details:
The Product class keeps product details (e.g., name, price, quantity) private,
providing getter and setter methods (i.e., methods that allow controlled access to
these private variables).
Encapsulation in ShoppingCart:
The ShoppingCart class manages the list of cart items and ensures that only valid
operations are allowed (e.g., no more than available stock can be added).
5. Functional Requirements
Product Catalog:
Create a collection of products (e.g., list or dictionary), each with its own name,
price, and quantity.
Adding Items to Cart:
Users can add products to the cart by specifying the quantity. The system will
ensure that the stock is updated (Encapsulation).
Removing Items from Cart:
Users can remove products from the cart. If the item is removed, the stock will be
updated accordingly.
Viewing Cart:
Users can view the items in the cart, their quantities, and the total cost, with
polymorphic behavior for product types.
Checkout Process:
When checking out, the system finalizes the order, updates the product stock, and
changes the order status to “completed” (using inheritance).
6. Code Structure and Practice
Classes and Objects:
Emphasize creating classes such as Product, ShoppingCart, and Order.
Discuss object instantiation and method invocation.
Inheritance:
Teach how the Order class inherits functionality from the ShoppingCart class and
can extend it by adding new methods like checkout().
Polymorphism:
Demonstrate polymorphic behavior in methods.
Encapsulation:
Encourage the use of private attributes and controlled access via getter and setter
methods to protect object integrity.

You might also like