博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java---day01
阅读量:4561 次
发布时间:2019-06-08

本文共 3398 字,大约阅读时间需要 11 分钟。

Shoot射击游戏第一天:

1.创建6个对象类,创建World类测试
正课:
1.什么是类?什么是对象?
  1)现实世界是由很多对象组成的
    基于对象抽出类
  2)对象:真实存在的单个的个体
    类:类型/类别,代表一类个体
  3)类中可以包含:
    3.1)所有对象所共有的属性/特征----------------成员变量
    3.2)所有对象所共有的行为---------------------方法
  4)一个类可以创建多个对象,
    同一类型的多个对象,结构相同,数据不同
  5)类是对象的模板,对象是类的具体的实例
2.如何创建类?如何创建对象?如何访问成员?
需求:
1)共3种敌人(小敌机、大敌机、小蜜蜂)
  英雄机可以发射子弹,子弹可以打敌人:
  1.1)打掉小敌机-----------玩家得1分
  1.2)打掉大敌机-----------玩家得3分
  1.3)打掉小蜜蜂-----------英雄机得奖励(1条命、40火力值)
2)英雄机默认3条命,默认火力值为0(单倍火力)
  当火力值大于0时,为双倍火力,发一次双倍火力,则火力值减2
3)敌人可以和英雄机撞,与英雄机撞上之后:
  3.1)英雄机减1条命,并且,火力值归零
      当英雄机命数为0时,游戏结束
4)所有飞行的对象都是在天空上飞的
1)找对象:英雄机、子弹、小敌机、大敌机、小蜜蜂、天空
2)抽类:Hero、Bullet、Airplane、BigAirplane、Bee、Sky
3)设计类中的成员变量和方法:
4)创建对象并测试:
class Hero{ //英雄机
  x,y,width,height,life,doubleFire
  void step(){ //切换图片
    hero0和hero1切换
  }
  void moveTo(int x,int y){ //英雄机随着鼠标动
    
  }
}
MyShoot
cn.tedu.shoot
Hero
Airplane
BigAirplane
Bullet
Bee
Sky
class Airplane{
  width,height,x,y,speed
  void step(){
    
  }
}
Hero:
  width,height,x,y,life,doubleFire,step(),moveTo(int x,int y)
Airplane:
  width,height,x,y,speed,step()
BigAirplane:
  width,height,x,y,speed,step()
Bee:
  width,height,x,y,xSpeed,ySpeed,awardType,step()
Bullet:
  width,height,x,y,speed,step()
Sky:
  width,height,x,y,speed,y1,step()
World:
 
class BigAirplane{
}
class Bee{
}
class Bullet{
}
class Sky{
}
Student zs = new Student();
            引用
数据类型  引用类型变量   指向    对象
Student     zs            =    new Student();
     基本类型变量(变量)
int    a;
zs.name = "zhangsan";
zs.age = 25;
null
Student
StudentTest
oo.day01
  类               对象
月饼模子           月饼
Student zs = new Student();
zs.name = "zhangsan";
zs.age = 25;
zs.address = "河北廊坊";
zs.stuId = "111";
zs.eat();
zs.sleep();
zs.study();
zs.abc = 250; //编译错误,没有abc这个属性
Student ls = new Student();
ls.name = "lisi";
ls.age = 27;
ls.address = "黑龙江佳木斯";
ls.stuId = "222";
ls.eat();
ls.sleep();
ls.study();
class Student{
  String name;
  int age;
  String address;
  String stuId;
  void eat(){}
  void sleep(){}
  void study(){}
}
Student zs = new Student();
Student ls = new Student();
Student ww = new Student();
Student zl = new Student();
class Teacher{
  String name;
  int age;
  String address;
  char gender;
  double salary;
  void eat(){}
  void sleep(){}
  void teach(){}
}
class Dog{
  String type;
  String color;
  void 叫(){}
}
class Car{
  String type;
  String color;
  double price;
  void run(){}
  void back(){}
  void stop(){}
}
对象                   类
WKJ                    老师
GJ
GT
张三                   学生
李四
王五
小花                   狗
小黑
小强
奥迪                   汽车
奥拓
马六
class Emp{ //Emp就是我自己创建的一个数据类型---雇员
  String name;
  int age;
  double salary;
  void print(){
    System.out.println("姓名:"+name);
    System.out.println("年龄:"+age);
    System.out.println("工资:"+salary);
  }
}
class Test{
  public static void main(String[] args){
    Emp ee = new Emp(); //创建了一个雇员对象
    ee.name = "zhangsan";
    ee.age = 25;
    ee.salary = 5000.0;
    ee.print();
  }
}
基本数据类型----------------只能装一个数据
数组------------------------必须类型相同的数
自己造个数据类型------------想装什么就装什么
面向过程的弊端:
1)缺乏对数据的封装
2)数据和方法(操作数据)的分离
高质量的代码:
  复用性好、扩展性好、维护性好、
  可移植性好、健壮性好、可读性好、效率好...
清华思路-------------环保、GIS
开发-------40多人,项目多
设计者----------------抽了4个人(花费2个月时间做了一套框架)
福州夜间施工项目----------加功能
30万
我一个人,每天最多一个小时,5天搞定了
-------------------------------------------5个小时
某和----------OA办公系统(.net做的)
Java做的-------了解
A公司:改一点
B公司:改一点
C公司:改一点
产品-----------适应很多家公司的
项目-----------只能适应一家公司的
面向对象:OO
OOA:面向对象分析
OOD:面向对象设计
OOAD:面向对象分析与设计
OOP:面向对象编程------------------你们所参与的
晕乎乎的过来的--------------------正常的
不晕不正常:
1)什么也不会
2)自以为不晕-----------------很不错很不错的状态
语言基础:
1)固定的(画一个圆形)
2)去银行取钱
面向对象:难
1)抽象的(画一个图形)
2)向着社会主义社会发展
猜字符小游戏
射击游戏
面向过程编程
面向对象编程
贯穿项目------------理论+项目
面向对象10天

转载于:https://www.cnblogs.com/xiaofeixx/p/8903675.html

你可能感兴趣的文章
11、求二进制中1的个数
查看>>
【nodejs】让nodejs像后端mvc框架(asp.net mvc)一样处理请求--请求处理结果适配篇(7/8)...
查看>>
CodeForces 731A Night at the Museum
查看>>
MySQL 删除数据库
查看>>
JavaScript 字符串(String) 对象
查看>>
How to use VisualSVN Server and TortoiseSVN to host your codes and control your codes' version
查看>>
微信小程序picker组件 - 省市二级联动
查看>>
Dynamics CRM 给视图配置安全角色
查看>>
Eclipse修改已存在的SVN地址
查看>>
(转)使用 python Matplotlib 库绘图
查看>>
进程/线程切换原则
查看>>
正则表达式语法
查看>>
20165301 2017-2018-2 《Java程序设计》第四周学习总结
查看>>
Vue的简单入门
查看>>
urllib 中的异常处理
查看>>
通过SQL Server的扩展事件来跟踪SQL语句在运行时,时间都消耗到哪儿了?
查看>>
WIFI密码破解全攻略
查看>>
gulp
查看>>
pgsql查询优化之模糊查询
查看>>
不变模式
查看>>