java关于手机套餐怎么编程

时间:2025-03-04 19:05:38 明星趣事

在Java中编写一个关于手机套餐的程序,可以考虑使用建造者模式(Builder Pattern)来设计。建造者模式可以帮助我们创建复杂对象,并且将对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。

定义产品类(MobilePackage)

```java

package com.demo.buider.model;

public class MobilePackage {

private float money; // 话费

private int shortInfo; // 短信

private String music; // 彩玲

public float getMoney() {

return money;

}

public void setMoney(float money) {

this.money = money;

}

public int getShortInfo() {

return shortInfo;

}

public void setShortInfo(int shortInfo) {

this.shortInfo = shortInfo;

}

public String getMusic() {

return music;

}

public void setMusic(String music) {

this.music = music;

}

@Override

public String toString() {

return "MobilePackage{" +

"money=" + money +

", shortInfo=" + shortInfo +

", music='" + music + '\'' +

'}';

}

}

```

定义建造者接口(Builder Interface)

```java

package com.demo.buider.itf;

import com.demo.buider.model.MobilePackage;

public interface MobilePackageBuilder {

void buildMoney(float money);

void buildShortInfo(int shortInfo);

void buildMusic(String music);

MobilePackage getMobilePackage();

}

```

实现具体的建造者类(Concrete Builder)

```java

package com.demo.buider.concrete;

import com.demo.buider.itf.MobilePackageBuilder;

import com.demo.buider.model.MobilePackage;

public class ConcreteMobilePackageBuilder implements MobilePackageBuilder {

private MobilePackage mobilePackage = new MobilePackage();

@Override

public void buildMoney(float money) {

mobilePackage.setMoney(money);

}

@Override

public void buildShortInfo(int shortInfo) {

mobilePackage.setShortInfo(shortInfo);

}

@Override

public void buildMusic(String music) {

mobilePackage.setMusic(music);

}

@Override

public MobilePackage getMobilePackage() {

return mobilePackage;

}

}

```

使用建造者模式创建手机套餐

```java

package com.demo.buider.demo;

import com.demo.buider.concrete.ConcreteMobilePackageBuilder;

import com.demo.buider.itf.MobilePackageBuilder;

public class BuilderPatternDemo {

public static void main(String[] args) {

MobilePackageBuilder builder = new ConcreteMobilePackageBuilder();

// 构建手机套餐

builder.buildMoney(100); // 设置话费为100元

builder.buildShortInfo(500); // 设置短信数量为500条

builder.buildMusic("Default"); // 设置彩铃为默认

// 获取构建好的手机套餐

MobilePackage mobilePackage = builder.getMobilePackage();

// 输出手机套餐信息

System.out.println(mobilePackage);

}

}

```

这个示例展示了如何使用建造者模式来创建一个手机套餐对象。通过定义一个建造者接口和具体的建造者类,我们可以灵活地构建不同配置的手机套餐。在`BuilderPatternDemo`类中,我们创建了一个具体的建造者实例,并设置了话费、短信数量和彩铃,最后输出了构建好的手机套餐信息。

你可以根据实际需求进一步扩展这个示例,例如添加更多的套餐选项、用户输入和费用计算功能等。