java学习笔记2015-6-6

类和对象  (理念型  Demo演示)

面向对象   java  C++   封装  继承  多态    类  对象

面向过程   C    结构体

1、获取用户输入  2、逻辑判断   3、运算       输出结果

面向过程  C   结构体   内容:指针  结构体   头文件

类是面向对象编程语言的基础

类?  人   计算机    只要是一群共同事物(具有共同特征和动作的)集合  物以类聚

集合/模版

描述是描述整个类。(描述共同动作  共同特征  不负责具体指代的实现)

对象  从集合/模版  中构造了一个具体指代 (赋值/描述一些具体的值 或者操作)

调用时   通过对象调用   (static)

关联

属性建义用private

方法建议用public

作业:

//德玛跟寒冰对战  PK游戏 回合制的

//每个回合 德玛和寒冰互相攻击一次 德玛攻击了寒冰一次  寒冰攻击了德玛一次

//不停地打 打到一方血量低于0为止!

总结:

类  描述几个类   一个执行类

描述类  属性  方法

执行类: 主函数  调用代码  业务流程控制

形参,他是函数与外界交互的桥梁  本类与外部类

下次课  构造器   this

//需求分析:XX汽车在道路上行驶的状态  看到前进  后退  停车

//根据需求  抽离名词  品牌  型号  汽车  道路  状态   距离里程

//1、哪些名词可以归为一类  归类到不能归为止 2、哪些名词又是属于哪些名词中的

//汽车:品牌  型号   状态  道路:   名词要么是类  要么是属性   要么是多余的

//抽离动词  行驶  前进  后退  停车   动词必然是类的方法 (函数)

//汽车:行驶  前进  后退  停车

//创建一个类:Car 汽车类

//市场调研-》需求分析-》概要设计-》详细设计-》代码设计-》代码编写-》测试-》Demo->上线

//汽车类:品牌  型号  状态

//直接能够写在类的代码段中的  只有  属性  方法

public class Car{

//属性  (是一种全局变量)  属性的命名也尽量要有含义

//因为属性是描述该类特征的名词

String  brand;     //品牌  属性的命名和变量的命名规则一样  全小写

String  model;    // 型号 限定符 数据类型  属性名(分析得来)

String  statu;

int length;   //里程

//***********************************************************

//方法是描述该类动作的动词

//*限定符* 返回值类型   方法名(形参列表){代码段}

public void drive(){

// length++;

System.out.print(brand+"品牌的"+model+"型号的汽车状态为:"+statu+"状态!");

}

public void ahead(){

length++;

System.out.print(brand+"品牌的"+model+"型号的汽车状态为:"+statu+"状态!");

}

public void back(){

length--;

System.out.print(brand+"品牌的"+model+"型号的汽车状态为:"+statu+"状态!");

}

public void stop(){

System.out.print(brand+"品牌的"+model+"型号的汽车状态为:"+statu+"状态!");

}

}

/*  择善教育第2课作业

*  类和对象

*  寒冰和德玛的对战游戏 Dema类的实现

*  指导老师 Bear

*  学生 曹昆

*  2015-6-6

*/

/* 需求分析

* 德玛跟寒冰对战  PK游戏 回合制的

* 每个回合 德玛和寒冰互相攻击一次 德玛攻击了寒冰一次  寒冰攻击了德玛一次

* 不停地打 打到一方血量低于0为止!

*/

public class Dema{

//定义类的属性和方法

private String dname;

private int dblood;         //生命值

private int dattackpower;   //攻击力  攻击一次给对方的生命值造成的损害

public void setDName(String dname){

this.dname = dname;

}

public String getDName(){

return this.dname;

}

public void setDBlood(int dblood){

this.dblood = dblood;

}

public int getDBlood(){

return this.dblood;

}

public void setDAttackpower(int dattackpower){

this.dattackpower = dattackpower;

}

public int getDAttackpower(){

return this.dattackpower;

}

public void DAttack(Hanbing hanbing){

hanbing.setHBlood(hanbing.getHBlood()-this.getDAttackpower());

//System.out.println("名字叫:"+this.getDName()+"的德玛战士给予名字叫:"+hangbing.getHName()+"寒冰战士一次猛击的攻击,造成寒冰战士"+hanbing.getHName()+"损失掉生命值:"+this.getDAttackpower()+",寒冰战士:"+dema.getHName()+"还剩下生命值:"+hbpower);

}

}

/*  择善教育第2课作业

*  类和对象

*  寒冰和德玛的对战游戏 Hanbing类的实现

*  指导老师 Bear

*  学生 曹昆

*  2015-6-6

*/

/* 需求分析

* 德玛跟寒冰对战  PK游戏 回合制的

* 每个回合 德玛和寒冰互相攻击一次 德玛攻击了寒冰一次  寒冰攻击了德玛一次

* 不停地打 打到一方血量低于0为止!

*/

public class Hanbing{

//定义类的属性和方法

private String hname;

private int hblood;         //生命值

private int hattackpower;   //攻击力  攻击一次给对方的生命值造成的损害

public void setHName(String hname){

this.hname = hname;

}

public String getHName(){

return this.hname;

}

public void setHBlood(int hblood){

this.hblood = hblood;

}

public int getHBlood(){

return this.hblood;

}

public void setHAttackpower(int hattackpower){

this.hattackpower = hattackpower;

}

public int getHAttackpower(){

return this.hattackpower;

}

public void HAttack(Dema dema){

dema.setDBlood(dema.getDBlood() - this.getHAttackpower());

//System.out.println("名字叫:"+this.getHName()+"的寒冰战士给予名字叫:"+dema.getDName()+"德玛战士一次猛击的攻击,造成德玛战士"+dema.getDName()+"损失掉生命值:"+this.getHAttackpower()+",德玛战士:"+dema.getDName()+"还剩下生命值:"+demapower);

}

}

/*  择善教育第2课作业

*  类和对象

*  寒冰和德玛的对战游戏 执行类的实现

*  指导老师 Bear

*  学生 曹昆

*  2015-6-6

*/

/* 需求分析

* 德玛跟寒冰对战  PK游戏 回合制的

* 每个回合 德玛和寒冰互相攻击一次 德玛攻击了寒冰一次  寒冰攻击了德玛一次

* 不停地打 打到一方血量低于0为止!

*/

public class Manager{

public static void main(String args[]){

Hanbing hb = new Hanbing();

Dema dm = new Dema();

hb.setHName("张三");

hb.setHBlood(1000);

hb.setHAttackpower(95);

dm.setDName("李四");

dm.setDBlood(900);

dm.setDAttackpower(108);

while(true){

hb.HAttack(dm);

System.out.println("寒冰战士:"+hb.getHName()+" 给予德玛战士:"+dm.getDName()+" 一次攻击,造成德玛战士:"+dm.getDName()+" 损失掉生命值:"+hb.getHAttackpower()+",德玛战士:"+dm.getDName()+" 还剩下生命值:"+dm.getDBlood());

if(hb.getHBlood()<=0 || dm.getDBlood()<=0)

break;

dm.DAttack(hb);

System.out.println("德玛战士:"+dm.getDName()+" 给予寒冰战士:"+hb.getHName()+" 一次攻击,造成寒冰战士:"+hb.getHName()+" 损失掉生命值:"+dm.getDAttackpower()+",寒冰战士:"+hb.getHName()+" 还剩下生命值:"+hb.getHBlood());

if(hb.getHBlood()<=0 || dm.getDBlood()<=0)

break;

}

if(hb.getHBlood()<=0){

System.out.println("德玛战士:"+dm.getDName()+"胜利!");

}else{

System.out.println("寒冰战士:"+hb.getHName()+"胜利!");

}

}

}

时间: 2024-08-03 23:31:12

java学习笔记2015-6-6的相关文章

Java 学习笔记(2015.7.13~17)

Java 学习笔记(2015.7.13~17) Java this关键字 表示本类中的属性,调用本类中的方法 class Person {        private String name;         private int age;         public Person(String name, int age) {         this.name = name;//调用本类中的属性         this.age = age;//同上} //get&set方法:    

Java 学习笔记(2015.7.20~24)

Java 学习笔记(2015.7.20~24) Java Java 学习笔记(2015.7.20~24) 1.StringBuffer与StringBuilder的区别: 2.基本数据类型包装类 3.Date.Calendar.DateFormat等与时间相关的类 1.常用类String 2.正则表达式 3.常用类 StringBuffer 代表可变的字符序列 拆箱与装箱 包装类的应用 匿名内部类 数组 day11 day12 day13 day14 day11 父类中使用public定义的方法

Java学习笔记(2015.7.27~7.31)

Java学习笔记(2015.7.27~7.31) Java 课堂 Java学习笔记(2015.7.27~7.31) 小技巧 常用方法 1.List另一个子类--LinkedList 2.数组的常用方法 3.排序 1.二分法查找 2.数组转换为List 3.可变参数Type ... param (了解) 1.容器Collection 2.自动拆装箱(了解) 3.JDK增强for循环(了解) 4.泛型(掌握) 5.iterator与for在迭代中的区别 1.概念:保存多个对象的对象. 2.JDk为什

我的java学习笔记(一篇文章不定时更新)

Java学习笔记 一.      原则战略思想 l  方法:快速原型 l  小目标:找一个pdf书籍快速有一个小项目出现 l  辅助:计时 记录各个学习环节的时间消耗. l  辅助:音乐 激情 l  您在博客园的登录用户名是:杂家随谈  [email protected] l 二.      WBS以及计时 步骤 计划时间 实际时间 搭建环境 2015/5/26 PDF 2015-5-26 小项目大框架实施 2015-6-1 三.      杂感 感觉难的时候,不妨站高点,站远一点看问题. 天下

Java学习笔记3-操作符

Java基本操作符:+.-.*./.%.=.==.!=.+=.-=. 优先级:先乘除后加减,如果是连接符+号会优先往前匹配,比如 a+++++b,会被解释称 a++ ++ +b,所以会报错,需要自行使用括号隔离为 (a++) + (++b). 对象的引用如果赋值给了对象的引用后,2 个对象将指向同一个引用,有一个对象的引用重新赋值后将同时影响到另一个对象,比如 ClassName classA = new ClassName(); ClassName classB = new ClassName

java学习笔记10--泛型总结

java学习笔记系列: java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--对象的初始化与回收 java学习笔记3--类与对象的基础 java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址:http://www.cnblogs.com/archimedes/p/java-study-note10.html,转载

Java学习笔记_25_Collections类

25.Collections类: Collections类是一个工具类,用来对集合进行操作,它主要是提供一些排序算法,包括随机排序.反相排序等. Collections类提供了一些静态方法,实现了基于List容器的一些常用算法. Collections的一些方法列表: · void sort(List): 对List内的元素进行排序. · void shuffle(List): 对List内的元素随机排序. · void reverse(List): 对List内的元素进行逆序排列. · voi

Java学习笔记心得——初识Java

初识Java 拿到这本厚厚的<Java学习笔记>,翻开目录:Java平台概论.从JDK到TDE.认识对象.封装.继承与多态...看着这些似懂非懂的术语名词,心里怀着些好奇与担忧,就这样我开始走进Java的世界.  Java产生的历史 Java来自于Sun公司的一个叫Green Project中撰写的程序语言,全球信息网(World Wide Web)兴起,Java Applet成为网页互动技术的代表,特别适合于Internet应用程序开发. Java语言的特点 1.面向对象 这是Java最重要

java学习笔记8--接口总结

接着前面的学习: java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--对象的初始化与回收 java学习笔记3--类与对象的基础 java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址:http://www.cnblogs.com/archimedes/p/java-study-note8.html,转载请注明源地址. 生活中的接口: 什么是接口? 一个Java接口是一些方法特

java学习笔记3——java关键字

java学习笔记3——java关键字 虽然老师说不用刻意的去记忆,但是我还是在网上找到了非常详细的注解,再次收藏 关键字的类型表: 各个关键字的详细注解和实例,按首字母排序: 1.abstract abstract 关键字可以修改类或方法. abstract 类可以扩展(增加子类),但不能直接实例化. abstract 方法不在声明它的类中实现,但必须在某个子类中重写. -示例- public abstract class MyClass{ } public abstract String my