西游记:
唐僧去西天取经,先后收了三个徒弟:孙悟空、猪八戒和沙和尚。
路上,遇到了妖怪黄风怪。黄风怪抓走唐僧,准备吃掉长生不老。
唐僧的徒弟们为了救唐僧,大战黄风怪,最终救出了师傅,前往西天求取真经。
分析:
1)程序要处理的数据 – 名词
2)数据的结构,数据之间的关系
3)对这些数据要做哪些处理(操作)->功能 --动词
4)执行流程
1、要处理的数据有哪些?
和尚(唐僧,孙悟空、猪八戒和沙和尚),妖怪
游戏当中的角色 -> 人(唐僧) 非人(孙悟空,猪八戒,沙和尚,妖怪) -> 类类型
非人->超人:
非人->妖怪:
唐僧、孙悟空、猪八戒、沙和尚都是和尚类型 -> 设计为接口类型
2、这些数据的处理/功能有哪些?
interface Monk{
void pray(); //念经
}
class Actor{
String name;
Actor(){}
Actor(String name){
this.name = name;
}
}
class Human extends Actor implements Monk{
SuperMan[] tudis = new SuperMan[3];
int number = 0;
Human(){}
Human(String name){
super(name);
}
@Override
public void pray(){}
public void shouTudi(SuperMan tudi){
System.out.println(this.name + "收了一个徒弟" + tudi.name);
tudis[number++] = tudi;
}
public void help(){
//.....
}
public void help(SuperMan tudi){
//.....
}
@Override
public String toString(){
//......
}
}
class NoHuman extends Actor{
int level = 0;
String weapon;
NoHuman(){}
NoHuman(String name,int level,String weapon){
super(name);
this.level = level;
this.weapon = weapon;
}
void fly(){}
void magic(){}
void fight(NoHuman noHuman){}
}
class SuperMan extends NoHuman implements Monk
Human shifu; //师傅引用
//get 和 set方法
//构造器
//....
@Override
public void pray(){}
void save(Human shifu){}
}
class Monster extends NoHuman{
boolean hasBackground;
// get /set 方法
//构造器
//成员方法
void eat(Human human){
}
void catch(Monk monk){
//......
}
void run(){}
}
public class Test{
public static void main(String[] args){
System.out.println("---------------------------------");
//1.向内存要空间,放要处理的数据->定义变量
Human tanseng = new Human("唐僧");
SuperMan sunwukong = new SuperMan("孙悟空",10,"金箍棒");
SuperMan zhubajie = new SuperMan("猪八戒",7,"");
SuperMan shaheshang = new SuperMan("沙和尚",5,"");
Monster huangfengguai = new Monster("黄风怪",8,"");
//2.处理数据。根据业务逻辑来处理数据
System.out.println("----------人物出场-----------");
System.out.println(tangseng);
System.out.println("----------唐僧收徒弟-----------");
tangseng.shouTudi(sunwukong);
sunwukong.shifu = tangseng;
//......
System.out.println("----------妖怪抓唐僧-----------");
//3.处理结果
}
}
唐僧去西天取经,先后收了三个徒弟:孙悟空、猪八戒和沙和尚。
路上,遇到了妖怪黄风怪。黄风怪抓走唐僧,准备吃掉长生不老。
唐僧的徒弟们为了救唐僧,大战黄风怪,最终救出了师傅,前往西天求取真经。
分析:
1)程序要处理的数据 – 名词
2)数据的结构,数据之间的关系
3)对这些数据要做哪些处理(操作)->功能 --动词
4)执行流程
1、要处理的数据有哪些?
和尚(唐僧,孙悟空、猪八戒和沙和尚),妖怪
游戏当中的角色 -> 人(唐僧) 非人(孙悟空,猪八戒,沙和尚,妖怪) -> 类类型
非人->超人:
非人->妖怪:
唐僧、孙悟空、猪八戒、沙和尚都是和尚类型 -> 设计为接口类型
2、这些数据的处理/功能有哪些?
interface Monk{
void pray(); //念经
}
class Actor{
String name;
Actor(){}
Actor(String name){
this.name = name;
}
}
class Human extends Actor implements Monk{
SuperMan[] tudis = new SuperMan[3];
int number = 0;
Human(){}
Human(String name){
super(name);
}
@Override
public void pray(){}
public void shouTudi(SuperMan tudi){
System.out.println(this.name + "收了一个徒弟" + tudi.name);
tudis[number++] = tudi;
}
public void help(){
//.....
}
public void help(SuperMan tudi){
//.....
}
@Override
public String toString(){
//......
}
}
class NoHuman extends Actor{
int level = 0;
String weapon;
NoHuman(){}
NoHuman(String name,int level,String weapon){
super(name);
this.level = level;
this.weapon = weapon;
}
void fly(){}
void magic(){}
void fight(NoHuman noHuman){}
}
class SuperMan extends NoHuman implements Monk
Human shifu; //师傅引用
//get 和 set方法
//构造器
//....
@Override
public void pray(){}
void save(Human shifu){}
}
class Monster extends NoHuman{
boolean hasBackground;
// get /set 方法
//构造器
//成员方法
void eat(Human human){
}
void catch(Monk monk){
//......
}
void run(){}
}
public class Test{
public static void main(String[] args){
System.out.println("---------------------------------");
//1.向内存要空间,放要处理的数据->定义变量
Human tanseng = new Human("唐僧");
SuperMan sunwukong = new SuperMan("孙悟空",10,"金箍棒");
SuperMan zhubajie = new SuperMan("猪八戒",7,"");
SuperMan shaheshang = new SuperMan("沙和尚",5,"");
Monster huangfengguai = new Monster("黄风怪",8,"");
//2.处理数据。根据业务逻辑来处理数据
System.out.println("----------人物出场-----------");
System.out.println(tangseng);
System.out.println("----------唐僧收徒弟-----------");
tangseng.shouTudi(sunwukong);
sunwukong.shifu = tangseng;
//......
System.out.println("----------妖怪抓唐僧-----------");
//3.处理结果
}
}