女友多的好处 (简单工厂模式)

本文通过一个女友工厂模式的示例介绍了如何使用Java实现基于字符串条件创建不同类型的对象。该示例展示了如何通过字符串参数选择性地创建并调用不同类型女友对象的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java 的switch 语句的case 匹配为什么不能像delphi一样 支持String类型 哦

 

这里可以通过反射的话效果更佳

 

// 女友工厂

public class DreamGirlCreatFactory {
  
 
  public static DreamGirl creatDreamGirl(String girlName){
    
  if(girlName.equals("BeautifulGirl")){
   
   return new BeautifulGirl();
   
  }else if(girlName.equals("LivelyGirl")){
   
   
   return new LivelyGirl();
  } 
  else if(girlName.equals("LooksMediocreGirl")){
   
   return new LooksMediocreGirl();
   
  }else if(girlName.equals("SensibleGirl")){
   
   return new SensibleGirl();
   
  }
return null;
   
  
 } 
 public static void main(String[] args){
  
  String girlName1 = "BeautifulGirl";
  String girlName2 = "LivelyGirl";
  String girlName3 = "LooksMediocreGirl";
  String girlName4 = "SensibleGirl";
  
  String[] girlName = new String[4];
  girlName[0]=girlName1;
  girlName[1]=girlName2;
  girlName[2]=girlName3;
  girlName[3]=girlName4;
  
  for(int i=0; i<4;i++){
   
   DreamGirl girl = DreamGirlCreatFactory.creatDreamGirl( girlName[i]);
   girl.can_do_something_for_boy();
  }
  }
 

}


 

下面是创建的对象的 接口

//基类

public class DreamGirl {
 
 public void can_do_something_for_boy(){

 }

}

 

下面都是具体实现

 

public class BeautifulGirl extends DreamGirl {

  
 public void can_do_something_for_boy() {
  
   System.out.println("陪老公逛街!!!");
 }
 
 

}

 

 

public class LivelyGirl extends DreamGirl {

 
 public void can_do_something_for_boy() {
   
   System.out.println("陪老公聊天!!!");
 }
 
}

 

 

public class LooksMediocreGirl extends DreamGirl {
 
 public void can_do_something_for_boy() {
   
   System.out.println("给老公做饭!!!");
 }
 

}

 

 

public class SensibleGirl extends DreamGirl {
 
 public void can_do_something_for_boy() {
   
   System.out.println("给老公洗衣服!!!");
 }
 

}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值