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时,为双倍火力,发一次双倍火力,则火力值减23)敌人可以和英雄机撞,与英雄机撞上之后: 3.1)英雄机减1条命,并且,火力值归零 当英雄机命数为0时,游戏结束4)所有飞行的对象都是在天空上飞的1)找对象:英雄机、子弹、小敌机、大敌机、小蜜蜂、天空2)抽类:Hero、Bullet、Airplane、BigAirplane、Bee、Sky3)设计类中的成员变量和方法:4)创建对象并测试:class Hero{ //英雄机 x,y,width,height,life,doubleFire void step(){ //切换图片 hero0和hero1切换 } void moveTo(int x,int y){ //英雄机随着鼠标动 }}MyShootcn.tedu.shootHeroAirplaneBigAirplaneBulletBeeSkyclass 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;nullStudentStudentTestoo.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 老师GJGT张三 学生李四王五小花 狗小黑小强奥迪 汽车奥拓马六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公司:改一点产品-----------适应很多家公司的项目-----------只能适应一家公司的面向对象:OOOOA:面向对象分析OOD:面向对象设计OOAD:面向对象分析与设计OOP:面向对象编程------------------你们所参与的晕乎乎的过来的--------------------正常的不晕不正常:1)什么也不会2)自以为不晕-----------------很不错很不错的状态语言基础:1)固定的(画一个圆形)2)去银行取钱面向对象:难1)抽象的(画一个图形)2)向着社会主义社会发展猜字符小游戏射击游戏面向过程编程面向对象编程贯穿项目------------理论+项目面向对象10天