Python (使用字典作为购物车)yinanjinying.com
python
class Product:
def init(self, id, name, price):
self.id = id
self.name = name
self.price = price
class ShoppingCart:
def init(self):
self.items = {}
def add_item(self, product, quantity):
if product.id not in self.items:
self.items[product.id] = {'product': product, 'quantity': quantity}
else:
self.items[product.id]['quantity'] += quantity
def show_cart(self):
for item in self.items.values():
print(f"Product: {item['product'].name}, Quantity: {item['quantity']}, Total: {item['product'].price * item['quantity']}")
使用示例
cart = ShoppingCart()
apple = Product(1, ‘Apple’, 0.99)
cart.add_item(apple, 3)
cart.show_cart()
JavaScript (使用对象作为购物车)
javascript
class Product {
constructor(id, name, price) {
this.id = id;
this.name = name;
this.price = price;
}
}
class ShoppingCart {
constructor() {
this.items = {};
}
addItem(product, quantity) {
if (!this.items[product.id]) {
this.items[product.id] = { product, quantity };
} else {
this.items[product.id].quantity += quantity;
}
}
showCart() {
for (let id in this.items) {
let item = this.items[id];
console.log(`Product: ${item.product.name}, Quantity: ${item.quantity}, Total: ${item.product.price * item.quantity}`);
}
}
}
// 使用示例
let cart = new ShoppingCart();
let apple = new Product(1, ‘Apple’, 0.99);
cart.addItem(apple, 3);
cart.showCart();
Java (使用HashMap作为购物车)
java
import java.util.HashMap;
import java.util.Map;
class Product {
int id;
String name;
double price;
Product(int id, String name, double price) {
this.id = id;
this.name = name;
this.price = price;
}
}
class ShoppingCart {
Map<Integer, Map<Product, Integer>> items = new HashMap<>();
void addItem(Product product, int quantity) {
Map<Product, Integer> quantityMap = items.getOrDefault(product.id, new HashMap<>());
quantityMap.put(product, quantityMap.getOrDefault(product, 0) + quantity);
items.put(product.id, quantityMap);
}
void showCart() {
for (Map.Entry<Integer, Map<Product, Integer>> entry : items.entrySet()) {
for (Map.Entry<Product, Integer> productEntry : entry.getValue().entrySet()) {
System.out.println("Product: " + productEntry.getKey().name + ", Quantity: " + productEntry.getValue() + ", Total: " + productEntry.getKey().price * productEntry.getValue());
}
}
}
}
// 使用示例
public class Main {
public static void main(String[] args) {
ShoppingCart cart = new ShoppingCart();
Product apple = new Product(1, “Apple”, 0.99);
cart.addItem(apple, 3);
cart.showCart();
}
}
注意:这些代码示例非常简化,并没有包括完整的购物商城功能,如用户登录、支付处理、商品浏览、库存管理等。在一个真正的购物商城中,你将需要使用数据库来存储商品和用户信息,以及一个后端框架(如Django、Express.js、Spring Boot等)来处理复杂的业务逻辑和安全性问题。由于生成一个完整的购物商城代码在多种语言中会相当冗长,并且每种语言都有其特定的库和框架来构建这样的系统,我将为你提供一个简化版的购物车(Shopping Cart)概念实现,在三种不同的语言中:Python、JavaScript 和 Java。这些代码示例将仅涵盖购物车的基本功能,如添加商品和查看购物车内容。
Python (使用字典作为购物车)
python
class Product:
def init(self, id, name, price):
self.id = id
self.name = name
self.price = price
class ShoppingCart:
def init(self):
self.items = {}
def add_item(self, product, quantity):
if product.id not in self.items:
self.items[product.id] = {'product': product, 'quantity': quantity}
else:
self.items[product.id]['quantity'] += quantity
def show_cart(self):
for item in self.items.values():
print(f"Product: {item['product'].name}, Quantity: {item['quantity']}, Total: {item['product'].price * item['quantity']}")
使用示例
cart = ShoppingCart()
apple = Product(1, ‘Apple’, 0.99)
cart.add_item(apple, 3)
cart.show_cart()
JavaScript (使用对象作为购物车)
javascript
class Product {
constructor(id, name, price) {
this.id = id;
this.name = name;
this.price = price;
}
}
class ShoppingCart {
constructor() {
this.items = {};
}
addItem(product, quantity) {
if (!this.items[product.id]) {
this.items[product.id] = { product, quantity };
} else {
this.items[product.id].quantity += quantity;
}
}
showCart() {
for (let id in this.items) {
let item = this.items[id];
console.log(`Product: ${item.product.name}, Quantity: ${item.quantity}, Total: ${item.product.price * item.quantity}`);
}
}
}
// 使用示例
let cart = new ShoppingCart();
let apple = new Product(1, ‘Apple’, 0.99);
cart.addItem(apple, 3);
cart.showCart();
Java (使用HashMap作为购物车)
java
import java.util.HashMap;
import java.util.Map;
class Product {
int id;
String name;
double price;
Product(int id, String name, double price) {
this.id = id;
this.name = name;
this.price = price;
}
}
class ShoppingCart {
Map<Integer, Map<Product, Integer>> items = new HashMap<>();
void addItem(Product product, int quantity) {
Map<Product, Integer> quantityMap = items.getOrDefault(product.id, new HashMap<>());
quantityMap.put(product, quantityMap.getOrDefault(product, 0) + quantity);
items.put(product.id, quantityMap);
}
void showCart() {
for (Map.Entry<Integer, Map<Product, Integer>> entry : items.entrySet()) {
for (Map.Entry<Product, Integer> productEntry : entry.getValue().entrySet()) {
System.out.println("Product: " + productEntry.getKey().name + ", Quantity: " + productEntry.getValue() + ", Total: " + productEntry.getKey().price * productEntry.getValue());
}
}
}
}
// 使用示例
public class Main {
public static void main(String[] args) {
ShoppingCart cart = new ShoppingCart();
Product apple = new Product(1, “Apple”, 0.99);
cart.addItem(apple, 3);
cart.showCart();
}
}
注意:这些代码示例非常简化,并没有包括完整的购物商城功能,如用户登录、支付处理、商品浏览、库存管理等。在一个真正的购物商城中,你将需要使用数据库来存储商品和用户信息,以及一个后端框架(如Django、Express.js、Spring Boot等)来处理复杂的业务逻辑和安全性问题。