回 帖 发 新 帖 刷新版面

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

实用对象:初学者
通过对本文的理解,你将掌握到以下知识点:
类 构造函数 方法 方法的重载 对象 传参 返回值

故事产生:
伟大的神女娲是一位神奇的人身蛇尾女神
一天,她觉得
"我好孤单啊,有个人陪陪我多好啊!"
于是,她开始
捏泥人...
一个泥人制作完毕!
吹口气...
泥人学会直立行走!
泥人学会语言!
泥人学会思考!
泥人具备了灵魂!
一个人诞生了!
----人开始展示自己的生活----
开始交谈了
后来结婚了
后来生小孩了
------------------------------------------------------------
以下是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 

}

}

回复列表 (共1个回复)

沙发

我还以为是探讨工厂模式呢

我来回复

您尚未登录,请登录后再回复。点此登录或注册