当前位置: 首页 > 编程笔记 >

详解java创建一个女朋友类(对象啥的new一个就是)==建造者模式,一键重写

孔鸿远
2023-03-14
本文向大家介绍详解java创建一个女朋友类(对象啥的new一个就是)==建造者模式,一键重写,包括了详解java创建一个女朋友类(对象啥的new一个就是)==建造者模式,一键重写的使用技巧和注意事项,需要的朋友参考一下

创建一个女朋友,她有很多的属性,比如:性别,年龄,身高,体重,类型等等,虽然每个女朋友都有这些属性,但是每个人找女朋友的要求都是不一样的,有的人喜欢男的,有的人喜欢女的,有的喜欢胖的,不同的人可以根据自己的喜好去建造不同的女朋友,我们不需要关心她是怎么建造的,我们只需要去指定她的属性就行了

相比如文字解释,我更习惯撸代码来解释,下面来一步步实现怎么用java来为你创建一个女朋友

首先定义一个女朋友类:

package nuoyanli;
 
/**
 * Created by ${nuoyanli} on 2019/4/7.
 */
 
public class GirlFriend {
  private String sex;//性别
  private int age;//年龄
  private int stature;//身高
  private int weight;//体重
  private String type;//类型

按照我们以往的理解,要创建一个女朋友是不是要直接new出来,我们可以通过构造方法把属性传过去

例如:我对女朋友的要求只有一个,是女的就行,定义一个构造方法:

public GirlFriend(String sex) {
    this.sex = sex;
  }

然后再需要的时候来创建她:

 GirlFriend girlFriend = new GirlFriend("女");

如果我们要求性别和身高就要定义:

 public GirlFriend(String sex, int stature) {
    this.sex = sex;
    this.stature = stature;
  }

你想想每个人的要求都不一样,你得创建多少个构造方法,而且参数多了,可读性很差比如:

GirlFriend girlFriend = new GirlFriend("女",19,170,90,"声优");

java有一个建造者模式:

建造一个GirlFriendBuilder类:

package nuoyanli;
 
/**
 * Created by ${nuoyanli} on 2019/4/7.
 */
 
public class GirlFriendBuilder {
   String sex;//性别
   int age;//年龄
   int stature;//身高
   int weight;//体重
   String type;//类型
 
  public GirlFriendBuilder setSex(String sex) {
    this.sex = sex;
    return this;
  }
 
  public GirlFriendBuilder setAge(int age) {
    this.age = age;
    return this;
  }
 
  public GirlFriendBuilder setStature(int stature) {
    this.stature = stature;
    return this;
  }
 
  public GirlFriendBuilder setWeight(int weight) {
    this.weight = weight;
    return this;
  }
 
  public GirlFriendBuilder setType(String type) {
    this.type = type;
    return this;
  }
 
  /**
   *html" target="_blank">返回一个GirlFriend对象
   */
  public GirlFriend build() {
    return new GirlFriend(this);
  }
}

然后在GirlFriend类里面构造方法传入GirlFriendBuilder对象:

public GirlFriend(GirlFriendBuilder builder) {
    this.sex = builder.sex;
    this.age = builder.age;
    this.stature = builder.stature;
    this.weight = builder.weight;
    this.type = builder.type;
  }

然后创建的时候:

GirlFriend girlFrie1nd = new GirlFriendBuilder()
        .setAge(19)
        .setSex("女")
        .setType("声优")
        .setStature(175)
        .build();

这样就成功创建了一个女朋友,代码的可读性也挺高的

如果对这个女朋友不满意,可以自定义属性哦,由于笔者水平有限,并且找不到女朋友所以只能先new一个girFriend对象

以上所述是小编给大家介绍的java建造者模式一键重写详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!

 类似资料:
  • 没有人买车会只买一个轮胎或者方向盘,大家买的都是一辆包含轮胎、方向盘和发动机等多个部件的完整汽车。如何将这些部件组装成一辆完整的汽车并返回给用户,这是建造者模式需要解决的问题。建造者模式又称为生成器模式,它是一种较为复杂、使用频率也相对较低的创建型模式。建造者模式为客户端返回的不是一个简单的产品,而是一个由多个部件组成的复杂产品。 8.1 游戏角色设计 Sunny软件公司游戏开发小组决定开发一款名

  • 本文向大家介绍教女朋友学Python(一)运行环境搭建 原创,包括了教女朋友学Python(一)运行环境搭建 原创的使用技巧和注意事项,需要的朋友参考一下 下班比较早,吃了饭没什么事,就和女朋友一起研究了Python。 编程语言有很多,为什么选择它呢?因为它火吧,没什么好解释的,下面开始第一步,环境搭建。网上的教程实在太多,各种系统的各种版本,本地链接下载,有真有假,乱七八糟。这里是官网下载地址:

  • 有一个独立的Java应用程序。其中有一个工厂方法,只调用一次,只创建一个对象(如果可能的话)。我有两个问题--哪种模式对此更好?其次,在这种情况下,将创建工厂的对象存储在工厂本身中是正确的吗?

  • 我对RxJS很陌生,所以如果这个问题已经得到回答,我提前道歉。 我有一个Angular 2应用程序,在其中一个组件中有一个普通对象。我将UI绑定到这个对象。我想做的是能够捕获对这个对象的所有更改,无论它们来自代码还是来自用户更改其中一个字段。 我正在查看可观察对象,但似乎只有通过Emit方法推送新对象时,订阅者才能接收通知。例如,在属性绑定到输入字段的情况下,这将如何工作? 有更好的方法吗? 这是

  • 如何创建具有整数和字符串输入类型的?如果我创建一个: 这将是一个类型。如果我将其创建为: 这将是类型。我如何创建一个,它可以接受整数和字符串输入类型?谢谢。

  • 创建一个表示学生的实体类 Student,其中有学生姓名、性别和年龄信息。要求使用属性来表示学生信息,最终编写测试代码。 首先定义一个名为 Student 的类,代码如下: 在类中通过属性定义学生、性别和年龄,代码如下: 在上述代码中将学生性别属性 Sex 设置为 private 作用域。为了对该属性进行获取和设置,还需要编写 isSex 和 setSex 方法。代码如下: 在 Student 类