尝试绘制Beverage、Tea、Coffee、Beer的类图,给出类间关系
时间: 2023-10-08 11:05:34 浏览: 53
以下是Beverage、Tea、Coffee、Beer的类图以及类间关系:
![类图](https://i.imgur.com/1yT7N6U.png)
Beverage是一个抽象类,它有两个子类:Tea和Coffee。Tea和Coffee都有自己的属性和方法,并继承了Beverage的属性和方法。
Beer是一个与Beverage没有继承关系的类,它有自己的属性和方法。
Tea和Coffee之间是兄弟关系,它们都继承了Beverage的属性和方法,并且有自己的独特属性和方法。
Beer与Beverage、Tea、Coffee之间是没有继承关系的,它是一个单独的类,有自己的属性和方法。
相关问题
请尝试实现Beverage、Tea、Coffee、Beer类并给出简单的测试
Beverage类:
```
class Beverage:
def __init__(self, name, price):
self.name = name
self.price = price
def get_name(self):
return self.name
def get_price(self):
return self.price
def __str__(self):
return f"{self.name} - ${self.price:.2f}"
```
Tea类:
```
class Tea(Beverage):
def __init__(self, name, price, type):
super().__init__(name, price)
self.type = type
def get_type(self):
return self.type
def __str__(self):
return f"{self.name} - {self.type} - ${self.price:.2f}"
```
Coffee类:
```
class Coffee(Beverage):
def __init__(self, name, price, size):
super().__init__(name, price)
self.size = size
def get_size(self):
return self.size
def __str__(self):
return f"{self.name} - {self.size} - ${self.price:.2f}"
```
Beer类:
```
class Beer(Beverage):
def __init__(self, name, price, alcohol_content):
super().__init__(name, price)
self.alcohol_content = alcohol_content
def get_alcohol_content(self):
return self.alcohol_content
def __str__(self):
return f"{self.name} - {self.alcohol_content}% - ${self.price:.2f}"
```
测试:
```
tea = Tea("Green Tea", 3.5, "Loose Leaf")
print(tea.get_name()) # Green Tea
print(tea.get_type()) # Loose Leaf
print(tea.get_price()) # 3.5
print(tea) # Green Tea - Loose Leaf - $3.50
coffee = Coffee("Latte", 4.2, "Medium")
print(coffee.get_name()) # Latte
print(coffee.get_size()) # Medium
print(coffee.get_price()) # 4.2
print(coffee) # Latte - Medium - $4.20
beer = Beer("IPA", 5.8, 6.5)
print(beer.get_name()) # IPA
print(beer.get_alcohol_content()) # 6.5
print(beer.get_price()) # 5.8
print(beer) # IPA - 6.5% - $5.80
```
用java实现Beverage、Tea、Coffee、Beer类并给出简单的测试
Beverage类:
```
public abstract class Beverage {
protected String description;
public String getDescription() {
return description;
}
public abstract double cost();
}
```
Tea类:
```
public class Tea extends Beverage {
public Tea() {
description = "Tea";
}
public double cost() {
return 1.5;
}
}
```
Coffee类:
```
public class Coffee extends Beverage {
public Coffee() {
description = "Coffee";
}
public double cost() {
return 2.0;
}
}
```
Beer类:
```
public class Beer extends Beverage {
public Beer() {
description = "Beer";
}
public double cost() {
return 3.5;
}
}
```
测试:
```
public class Test {
public static void main(String[] args) {
Beverage tea = new Tea();
System.out.println(tea.getDescription() + " cost: " + tea.cost());
Beverage coffee = new Coffee();
System.out.println(coffee.getDescription() + " cost: " + coffee.cost());
Beverage beer = new Beer();
System.out.println(beer.getDescription() + " cost: " + beer.cost());
}
}
```
输出:
```
Tea cost: 1.5
Coffee cost: 2.0
Beer cost: 3.5
```