主题:从女娲造人,看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
}
}
通过对本文的理解,你将掌握到以下知识点:
类 构造函数 方法 方法的重载 对象 传参 返回值
故事产生:
伟大的神女娲是一位神奇的人身蛇尾女神
一天,她觉得
"我好孤单啊,有个人陪陪我多好啊!"
于是,她开始
捏泥人...
一个泥人制作完毕!
吹口气...
泥人学会直立行走!
泥人学会语言!
泥人学会思考!
泥人具备了灵魂!
一个人诞生了!
----人开始展示自己的生活----
开始交谈了
后来结婚了
后来生小孩了
------------------------------------------------------------
以下是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
}
}