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

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

从女娲造人,看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      

       }

}
  

导航