从女娲造人,看JAVA中"类"的应用

设计模式(java)—— 简单工厂模式之农场,女娲造人 1.一个农场专门负责种植各种水果,比如苹果、草莓、葡萄等,任何水果都可以种植、生长和采摘。此外,每一种水果还有自己的特性,如:苹果是多年生具有树龄的属性,葡萄则分为有籽或无籽等。农场生产的水果都送入超市进行销售。请采用简单工厂模式对上述问题进行建模要求画出类图并使用java语言编写程序。 (1)农场生产苹果、草莓、葡萄等水果,抽象出来一个具体的概念,既水果的接口IFruit,水果需要种植、生长和采摘,所以应具备 plant(),grow(),harvest()方法。而苹果有自己的特性树龄,葡萄分为有籽和无 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> 实用对象:初学者 通过对本文的理解,你将掌握到以下知识点: 类 构造函数 方法 方法的重载 对象 传参 返回值 故事产生: 伟大的神女娲是一位神奇的人身蛇尾女神 一天,她觉得 "我好孤单啊,有个人陪陪我多好啊!" 于是,她开始 捏泥人... 一个泥人制作完毕! 吹口气... 泥人学会直立行走! 泥人学会语言! 泥人学会思考! 泥人具备了灵魂! 一个人诞生了! ----人开始展示自己的生活---- 开始交谈了 后来结婚了 后来生小孩了 ------------------------------------------------------------ 以下是niren.java 的代码 class niren //定义泥人类 { String name,sex; boolean walk,think,talk,ghost; niren(String n,String s) //泥人的构造函数 { name=n; sex=s; walk=think=talk=ghost=false; } } 以下是 ren.java 的代码 class ren //定义人类 { String name,sex; ren banlv; //伴侣 boolean jh; //是否结婚 ren(String n,String s) //人类的构造函数 { name=n; sex=s; banlv=null; jh=false; } void say(String word) //人说话的方法 { System.out.println(this.name "说:/"" word "/""); } void say(ren temp,String word) //人交谈的方法(对象,内容) { System.out.println(this.name "对" temp.name "说:/"" word "/""); } void say(ren temp,String bq,String word) //人交谈的方法(对象,表情,内容) { System.out.println(this.name bq "地对" temp.name "说:/"" word "/""); } void jiehun(ren temp) //定义结婚的方法 { if(sex!=temp.sex&&this.jh==false&&temp.jh==false) //判断他们的性别以及婚姻状态 { System.out.println(this.name "与" temp.name "正在教堂举办婚礼,大家祝福他们!"); this.banlv=temp; temp.banlv=this; temp.jh=this.jh=true; System.out.println(this.name "与" temp.name "成为合法夫妻!"); } else { System.out.println(this.name "试图与" temp.name "结婚,不符合婚姻法的条件!"); } } ren creatbaby(String s,String m) //定义生小孩的方法,两个参数(性别、名) { if(this.sex=="女"&&this.banlv!=null) //判断是否具备生小孩的条件 { ren baby=new ren("",""); baby.name=this.banlv.name.charAt(0) m; //this.banlv.name.charAt(0)取得小孩父亲的姓 baby.sex=s; System.out.println(this.name "进入医院生小孩,生下了一个又白又胖的" baby.sex "孩,他的名字叫/"" baby.name "/",我们祝福他健康成长!"); return baby; } else { System.out.println(this.name "试图进入医院生小孩,但是他不具备生小孩的能力,被医生赶出来了!"); return null; } } } 以下是 shen.java 的代码 class shen //定义神类 { String name,sex,shuxing; //定义神的属性 shen(String n,String sx,String s) //神的构造函数 { name=n; shuxing=sx; sex=s; } void miaoshushen() //对神的描述 { System.out.println("伟大的神" name "是一位神奇的" shuxing "的" sex "神。"); } niren madeNiren(String n,String s) //神制作泥人的方法 { System.out.println(name "开始制作泥人!"); niren temp=new niren(n,s); System.out.println("泥人" n "制作成功"); return temp; } ren chuiqi(niren temp) //神对泥人吹气的方法,传入"niren"对象temp,返回"ren"对象temp2 { System.out.println(this.name "开始对泥人" temp.name "吹气"); temp.walk=true; //泥人能够行走 temp.think=true; //泥人能够思想 temp.talk=true; //泥人能够说话 temp.ghost=true; //泥人具备灵魂 System.out.println("泥人" temp.name "升级了"); ren temp2=new ren(temp.name,temp.sex); //构造人取得了泥人的属性 System.out.println("泥人" temp.name "变成了真正的人"); return temp2; } void say(String word) //神说话的方法 { System.out.println(this.name "说:/"" word "/""); } void say(ren temp,String word) //神与人交谈的方法(对象,内容) { System.out.println(this.name "对" temp.name "说:/"" word "/""); } } 以下是 nvwaZaoren.java 的代码 public class nvwaZaoren { public static void main(String[] args) { shen nvwa=new shen("女娲","女","人身蛇尾"); nvwa.miaoshushen(); //对女娲的描述 System.out.print("一天,"); nvwa.say("一个人好孤单啊,做几个泥人来陪我!"); //女娲说话 System.out.println("于是,"); niren zhangfei=nvwa.madeNiren("张飞","男"); //女娲制作泥人张飞 ren zf=nvwa.chuiqi(zhangfei); //女娲对张飞吹气 zf.say("怎么只有我一个人啊,很无聊?"); nvwa.say(zf,"我给你作一个同伴"); niren diaochan=nvwa.madeNiren("貂禅","女"); //女娲制作泥人貂禅 ren dc=nvwa.chuiqi(diaochan); //女娲对貂禅吹气 //以下三行是 张飞跟貂禅的对话 zf.say(dc,"试探","你好啊,你叫什么名字?"); dc.say(zf,"爽快","我的名字叫" dc.name ",你呢?"); zf.say(dc,"含情脉脉","哦,你好" dc.name "我叫" zf.name); System.out.println("…………"); System.out.println(zf.name "与" dc.name "愉快地交谈着"); System.out.println("…………"); System.out.println("时间漫漫过去了," zf.name "与" dc.name "的感情逐渐加深/n 终于有一天"); zf.jiehun(dc); //张飞跟貂禅结婚 dc.creatbaby("男","无忌"); //貂禅生小孩 s } }
大话设计模式之简单工厂模式练习Java编写女娲造人 public class MakePerson { public static void main(String[] args) { Person person; person = Nvwa.getPerson(“M”); person.read(); person = Nvwa.getPerson(“W”); person.read(); person = Nvwa.getPerson(“R”)... 阅读详情

相关推荐

女娲造人工厂方法模式.zip

女娲造人工厂方法模式.zip

MATLAB 中文论坛相关帖子整理

(www.ilovematlab.cn) 目   录   1、GUI新手之——教你读懂GUI的M文件... 10 2、GUI程序中改变current directory引起的问题... 15 3、GUI中h0bject和handles 的区别... 16 4、handles结构中句柄和对象的关联问题... 17 5、Matlab利用定时器连续显

1万+

SurfaceControlViewHost使用介绍

可以看到,主要用途:是把一个进程的View显示到另外一个进程里面。

chadm.xiang 1289

小确幸BBS论坛-1-前期准备

话说: 各位读者晚上好!终于到了2018!2018年的第一篇博客哈!前面中断了不少篇,并非作者怠惰了,确实感觉“拿不出手”,嘿嘿。经过一段时间积累,这次就连续的发表一个系列吧——小美的BBS论坛。 还是很基础很基础的东西,不过,从前端到后端,都是自己写的,完整的记录一个初级的小项目,也是很有纪念意义滴。 技术: JSP+Servlet + 前端(HTML + CSS+JavaScript

起舞的日子 6631

从原理到实践:MIPI D-PHY v1.2的HS-Deskew功能全解析(附时序图详解)

本文深入解析MIPI D-PHY v1.2的HS-Deskew功能,从技术背景到实现机制,详细介绍了其在2.5Gbps高速传输中的关键作用。通过时序图详解和实测数据,帮助工程师理解并应用这一技术,解决信号完整性问题,提升系统可靠性。

weixin_30300225的博客 309

Linux安装消息队列IBM MQ 7.5开发版安装配置详解

消息队列IBM MQ 7.5开发版安装配置详解 文章目录消息队列IBM MQ 7.5开发版安装配置详解前言一、什么是IBM MQ?二、安装前准备1、安装前准备2、安装MQ Server3、启动实例4、创建队列一个名为TEXT的队列(测试)5、启动端口监听6、启动成功总结 前言 IBM 已经熟练地优化了 MQ(消息队列),在市场上已有超过 25 年的历史。借助 MQ(消息队列),如果无法立即传递消息,那么会在其等待队列中确保消息安全,直到保证传递为止。竞争产品可能会传递两次消息或根本不传递消息,而 M

zhx__的博客 5166

小确幸BBS论坛-6-优化不止步!

话说: 各位读者朋友,中午好!春节越来越近,归家心切丫! 前面一系列博客详细介绍了过程,但是没有复盘,这结尾的2篇博客就完成这件事。 这篇博客目标:优化小确幸论坛。 小确幸BBS论坛-1-5实现了最核心的功能,但是还有不少细节因为时间、技术原因暂时搁置了下来,现在的项目,在小美心中,很是满意。虽然很基础的东西,但是要考虑的细节还是蛮多。任何时候,多要尽力去做好,做到心中满意,就像那个毛毛虫

起舞的日子 6265

**Coffin-Manson 模型**在半导体功率循环测试中的理论背景、数学形式、应用场景,以及如何使用 **C#** 编程语言进行具体实现

Coffin-Manson 模型最初用于描述金属材料在低周疲劳(Low-Cycle Fatigue, LCF)下的寿命,后来被广泛应用于半导体功率器件(如 IGBT、MOSFET)的可靠性分析,特别是在功率循环测试中。如果你有具体数据(如 CSV 文件)、更复杂的模型要求(如 Bayerer 模型)或特定可视化需求,请提供,我可以进一步优化代码或添加功能!以下代码实现基本模型 ( N_f = A \cdot (\Delta T_j)^{-n} ) 的拟合,生成拟合曲线并预测寿命。我会结合你之前提到的。

专注于前沿技术的探索与实践,热衷于从代码逻辑、架构设计到行业应用等多维度深挖技术本质。期待在技术之路上与你共同成长~ 481

我的论坛源代码(十)

<!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--><script type="text/javascript"

zgqtxwd的专栏 2393

游戏大厂状态同步与帧同步技术全解析——让虚拟世界万物协同的“时间齿轮”

本文深入解析了大厂游戏开发中的两种核心同步技术:状态同步和帧同步。状态同步适合大型MMO和FPS游戏,由服务端计算并广播世界状态;帧同步则通过统一操作输入实现MOBA和RTS游戏的绝对公平。文章详细比较了两者的差异、适用场景和底层实现原理,并揭秘了《王者荣耀》《PUBG》等热门游戏的同步机制。同时探讨了本地预测、延迟补偿、防作弊等关键技术,以及未来AI和云游戏带来的同步新挑战,为开发者提供了全面的技术参考和实践指南。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 923

《Python基础教程》内容总览篇(持续更新中)

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为优快云博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理解,而且能够帮助新手快速入门。个人精心开设的《Python基础课程》专栏订阅量接近900,帮助不少同学解决了Bug。

weixin_43178406的博客 35万+

面试题(有部分答案)

面试题(有答案): 1. String类为什么是final的。 答:主要是为了“效率” 和 “安全性” 的缘故。若 String允许被继承, 由于它的高度被使用率, 可能会降低程序的性能,所以String被定义成final。 2. HashMap的源码,实现原理,底层结构。 3. 说说你知道的几个Java集合类:list、set、queue、map实现类咯。。。 4. 描述一下Array

qq_34590943的博客 9224

【C/C++ 性能优化】了解cpu 从而进行C++ 高效编程

在当代软件开发领域,CPU(Central Processing Unit,中央处理器)的性能优化一直是一个核心议题。尤其是对于C++开发者而言,无论是在Linux平台还是其他操作系统中,都需要深刻理解CPU的工作原理以及如何充分利用CPU资源,以确保软件运行的高效性和稳定性。正如计算机科学家Donald Knuth在《计算机程序设计的艺术》中所说:“过早的优化是万恶之源”,然而,这并不意味着我们应该忽视性能优化——相反,我们需要在正确的时间以正确的方式进行优化。

探索C++编程的奥秘,分享深入的技术见解和实践,旨在激发读者创造力与解决问题的思维。 4751

新女娲(java)造人

用故事讲解 java 实例对象,类对象

weixin_43719312的博客 875

ERROR: Ignored the following yanked versions: 0.8.3, 0.10.19.dev18 的解决办法

关于这个问题,博主是在进行项目中的python依赖包安装的时候遇见的,遇到的异常:关于这个问题,是在。

Spring Boot-Common On With You 644

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

简单工厂模式---女娲造人

传递指令给女娲,"M"制造男人,“W”制造女人。 People.java package MakePeople; public interface People { public void makePeople(); } Man.java package MakePeople; public class Man implements People { @Ov...

文天哥哥的博客 5586

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

女娲造人引发思考之Java设计模式:工厂模式

工厂模式工厂模式的几种形态简单工厂模式示例结构优缺点女娲抟土造人工厂方法模式结构女娲举绳造人抽象工厂模式结构女娲造万物 工厂模式的几种形态 工厂模式专门负责将大量有共同接口的类实例化。工厂模式可以动态的决定将哪一个类实例化,不必事先知道每次要实例化哪一个类,工厂模式有以下几种形态: 简单工厂(Simple Factory)模式:又称为静态工厂方法模式 工厂方法(Factory Method)模式:又称为多态性工厂模式 抽象工厂(Abstract Factory)模式:又称为工具箱模式 简单工厂模式 示例

狐言 1384

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

UML简单工厂模式-女娲造人

简单工厂模式-女娲造人 1.工程文件 接口类Human的使用可以更方便的扩展功能,如添加更多人种。 2.Human.java 通过输出不同的语言来识别人种。 package simple_factory_model; public interface Human { public void talk(); } 3.WhiteHuman.java package simple_factory_model; public class WhiteHuman implements Human{ pub

qwqc262的博客 1588

谈谈Android开发与女娲造人

版权声明 本文首发自简书: 搜索作者:QinGeneral 无需授权即可转载,甚至无需保留以上版权声明; 转载时请务必注明作者。 先来看看手机 从开发者的角度来看一下手机组成: - 屏幕(显示、触摸和反馈) - 开发可调用硬件:相机、GPS、运...

chuanjiaoxie1663的博客 168

工厂方法模式--女娲造人

工厂方法模式–女娲造人 1.工程文件 Human.java和HumanFactory.java这两个是接口类。 通过输出不同人种的语言识别不同人种。 2.Human.java package factory_approach_model; public interface Human { public void talk(); } 3.HumanFactory.java package factory_approach_model; public interface HumanFactory

qwqc262的博客 1151

女娲与抽象工厂模式

抽象工厂模式 女娲的失误 我们在上一章节讲了女娲造人的故事。人是造出来了,世界也热闹了,可是低头一看,都是清一色的类型,缺少关爱、仇恨、喜怒哀乐等情绪,人类的生命太平淡了,女娲一想,猛然一拍脑袋,哇K!忘记给人类定义性别了,那怎么办?抹掉重来,于是人类经过一次大洗礼,所有的人种都消灭掉了,世界又是空无一物,寂静而又寂寞。 由于女娲之前的准备工作花费了非常大的精力,比如准备黄土,准备八卦炉等,

静&思 1566

女娲造人?工厂模式?

阅读文本大概需要 8 分钟。前言明天就是元旦了,久一祝读者朋友元旦快乐呀。元旦假期,久一打算把Vue.js撸完,跟着我的脚步,感兴趣点击链接看到倪升武大佬写了一篇不错的...

公众号:Java后端 773

工厂方法模式-----女娃造人的故事

public abstract class AbstractHumanFactory { public abstract T createHuman(Class c); }

ljblxx的专栏 1538

sampleFactory(女娲造人)

使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W,则返回一个Woman对象,如果传入参数R,则返回一个Robot对象。 packagecreate; importcreate.People; importcreate.PeopleFactory; importcreate.XMLUtilPeop...

weixin_30307267的博客 395
上一篇: 用Java实现几种常见的排序算法
下一篇: 谈谈极限编程XP
java169
博客等级 码龄19年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值