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("给老公洗衣服!!!");
}
}
分享到:
相关推荐
在软件设计模式中,工厂模式是一种常用的创建型模式,它提供了一种创建对象的最佳方式。在PHP中,工厂模式能够帮助我们解耦代码,使得代码更具有灵活性和可扩展性。在这个例子中,我们将深入探讨如何使用工厂模式来...
想象一下,当你带女朋友去快餐店,无论是麦当劳还是肯德基,只需要简单地说一句“来四个鸡翅”,而不必关心具体是哪家的鸡翅,这是因为快餐店扮演了工厂的角色,客户只需提出需求,具体产品由工厂决定。此模式的优点...
比如,请女朋友吃汉堡时,您可以直接告诉她“我要一个汉堡”,至于是要牛肉汉堡还是鸡肉汉堡,则由女朋友根据自己的口味选择。这里,您扮演的是抽象工厂的角色,而具体的工厂(如麦当劳或肯德基)则负责根据客户的...
一个简单的C#WinForm窗体包含3个功能,由3个按钮分别实现: ...适合给哄女朋友开心或者用来表白,程序设计非常简单属于一看就会的内容,这个只是一个dome,后续计划有一个完善整合的哄女朋友开心的窗体程序
1. **Factory(工厂模式)**: - **比喻**:在追求女朋友的过程中,无论是麦当劳的鸡翅还是肯德基的鸡翅,都是美味的选择。这里,麦当劳和肯德基就像是工厂,你只需要告诉服务员你需要多少鸡翅,具体的制作过程则由...
在幽默的例子中,为女朋友拍摄专业照片可能需要使用多种摄影技巧,而外观模式可以提供一个简单的接口,让女朋友只需关注拍照结果,而不用关心具体的技术细节。在软件设计中,外观模式可以简化复杂的子系统,提供一个...
在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用共同的接口来指向新创建的对象。 **案例解读**: 例如,当带着女友去快餐店吃东西时,无论是麦当劳还是肯德基,顾客只需要告诉服务员“来...
工厂模式是一种非常实用的设计模式,它通过提供一个创建对象的接口,将实例化工作委托给子类。这种方式的好处在于用户只需要知道所需产品的抽象类型,而无需了解具体的实现细节。例如,文章中提到的例子是:当你带着...
例如,当你带女朋友去快餐店,无论是麦当劳还是肯德基,只需要告诉服务员“我要四个鸡翅”,而不需要关心具体哪家店生产的鸡翅。 - **原理**: 在工厂模式中,客户类和工厂类是分离的。消费者只需要知道如何向工厂...
13、CHAIN OF RESPONSIBLEITY —晚上去上英语课,为了好开溜坐到了最后一排,哇,前面 、 坐了好几个漂亮的 MM 哎, 找张纸条, 写上“Hi,可以做我的女朋友吗?如果不愿意请向前传”, 纸条就一个接一个的传上去了,...
**示例**:假设你有六个女朋友,她们的共同点就是都称呼你为“老公”,这意味着你就是这个家庭中的唯一老公,即“老公Singleton”。 **优点**: - 控制实例数量。 - 全局访问点。 **缺点**: - 单例模式通常被认为...
这就像工厂模式中,消费者只需要知道最终的产品是什么,而具体的实现细节则由工厂来处理。这种模式使得增加新的产品变得简单,只需要在工厂中添加相应的生产逻辑即可。 **2. 建造者模式(Builder)** 建造者模式...
抽象工厂模式是一种提供一系列相关或相互依赖对象的接口,而无需指定它们具体的类的设计模式。它关注的是创建一组相关的或相互依赖的对象,而非单个对象。 **应用场景:** 当你需要创建一组相关的产品族时,例如...
标签"表白女朋友 网页 情人节"表明这个项目具有浪漫和情感传达的目的,因此网页设计需要注重情感表达和用户体验。设计师可能需要运用浪漫色彩搭配,比如粉色、红色调,以及心形等爱情符号。同时,交互设计也需要考虑...
1. 工厂模式(Factory):就像在麦当劳或肯德基点餐,你只需要告诉服务员想要的食物,而无需关心食物是如何制作的。工厂模式将对象的创建过程封装起来,让使用者只需关注产品的使用,而不用关心产品的生产细节。 2....
标题中的“前端动效告白女朋友神器,网页HTML”指的是一个使用前端技术制作的互动告白页面,通过HTML、CSS和JavaScript实现动态效果,旨在给女朋友带来惊喜。这个项目的核心在于利用网页的交互性来表达情感,使得...
- **抽象工厂模式**:抽象工厂模式提供了一种创建一系列相关或相互依赖对象的接口,而无需指定其具体的类。例如,通过抽象工厂,用户可以在运行时选择是去麦当劳还是肯德基购买鸡翅,无需关心具体的品牌。 - **...
- **概念**:工厂模式是一种创建型设计模式,它提供的解决方案是定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 - **应用场景**:比如,你想请女孩吃饭,可以选择...