一.题目
1. (0分)
java习题六--1题目描述
书上第六章课后习题7(P169页),具体内容见学习通通知“第六章习题7”
要求实现根据UML图实现各个类及类间关系。
在各个方法中添加适当的输出函数显示调用了该方法。
在主测试类中新建实例并调用各方法以显示相关内容。
输入描述
无
输出描述
无
package Ex01UML
;
import java
.sql
.Date
;
public class Main {
public static void main(String
[] args
) {
Customer customer
= new Customer("郭德纲", "荷兰");
customer
.getOrder().dispatch();
customer
.getOrder().getOrderItem().calPrice();
customer
.getOrder().close();
customer
.getOrder().calTotalPrice();
CorporateCustomer corporateCustomer
= new CorporateCustomer("星星", "荷兰",
"ga", "100", "500");
corporateCustomer
.billForMonth();
corporateCustomer
.remind();
PersonalCustomer personalCustomer
= new
PersonalCustomer("郭德", "赫拉", 123);
}
}
class Order {
private Date dataReceived
;
private Boolean isPrepaid
;
private double price
;
private OrderItem orderItem
= new OrderItem();
Order(){}
Order(Date dataReceived
,Boolean isPrepaid
,
double price
){
this.dataReceived
= dataReceived
;
this.isPrepaid
= isPrepaid
;
this.price
= price
;
}
public OrderItem
getOrderItem() {
return this.orderItem
;
}
public void dispatch() {
System
.out
.println("dispatch");
}
public void close() {
System
.out
.println("close");
}
public void calTotalPrice() {
System
.out
.println("calTotalPrice");
}
}
class OrderItem{
private int quantity
;
private double price
;
private Product product
= new Product();
public Product
getProduct() {
return this.product
;
}
public void calPrice() {
System
.out
.println("calPrice");
}
}
class Product{
private String description
;
private double unitPrice
;
public String
getDescription() {
return this.description
;
}
public double getUnitPrice() {
return this.unitPrice
;
}
}
class Customer{
private String name
;
private String address
;
private Order order
= new Order();
public String
getCreditRatting() {
return this.name
+":"+this.address
;
}
Customer(String name
,String address
){
this.name
= name
;
this.address
= address
;
}
public Order
getOrder() {
return this.order
;
}
}
class CorporateCustomer extends Customer{
private String contactName
;
private String creditRatting
;
private String creditLimit
;
CorporateCustomer(String name
,String address
,
String contactName
,String creditRatting
,
String creditLimit
){
super(name
, address
);
this.contactName
= contactName
;
this.creditRatting
= creditRatting
;
this.creditLimit
= creditLimit
;
}
public void billForMonth() {
System
.out
.println("billForMonth");
}
public void remind() {
System
.out
.println("remind");
}
}
class PersonalCustomer extends Customer{
private int creditCardNumber
;
PersonalCustomer(String name
,String address
,
int creditCardNumber
){
super(name
, address
);
this.creditCardNumber
= creditCardNumber
;
}
}