读书人

Netjava Lesson2 种和对象

发布时间: 2013-07-11 15:38:46 作者: rapoo

Netjava Lesson2 类和对象

2013.07.06

?

上课内容:类和对象

?

定义:
对象:生活中的某一个物品或者某一个事物,这里要尤其注重是某一个,统称的物品不算对象。
?如篮球就不算对象,熊哥算对象。
类:?一些拥有相同或相似特征的对象的集合,在程序中,类是一个固定的模版,这些对象都含有一些相同的特征,但属性并不一定相同。
?java中类包括属性和方法。
?如学生有姓名、性别、学号、成绩等属性,有学习、玩游戏、吃饭、睡觉等方法。
?
下面是在程序中类的实现方法:
设置属性:
private 数据类型? 属性名;
设置方法:
public 返回值类型? 方法名;

?

我们以学生为例:

//建立一个学生类public class Student(){//设置属性private string name;private char sex;private int num;private int score;//创建一个方法,能够修改属性public void setName(string name){this.name=name;}//创建一个方法能够获取属性的值public string getname(){return name;}}

?

调用对象和调用方法:
类名? 对象名=new 类名();
对象名.方法名(实参);

?

以上述的学生为例:

//创建对象stuStudent stu=new Student();//调用stu的方法设置姓名stu.setName("Teemo");//将stu的姓名返回给字符串ststring st=stu.getName();

?

练习:
我们以LOL中的提莫队长和纳什男爵的回合制战斗为背景,直到有一方血量为0为止,输出战斗过程,并在最后输出谁胜利了!
提莫和纳什男爵拥有相同的属性:血量,攻击力,防御力。其中防御力代表的是每次减免百分之多少的伤害。
定义的方法BeAttacked作为一回合攻击血量的变化值。
附程序如下:

package cn.tth.pratice0706;public class Scence {public static void main(String[] args) {// TODO Auto-generated method stubTeemo te = new Teemo();Nashor na = new Nashor();te.setAtk(200);te.setDef(50);te.setHp(1500);na.setAtk(100);na.setDef(25);na.setHp(5000);while(te.getHp()>0&&na.getHp()>=0){te.BeAttacked(na);na.BeAttacked(te);int nahp=(int)na.getHp();int tehp=(int)te.getHp();System.out.println("Nashor's hp="+nahp+"    Teemo's hp="+tehp);}if(te.getHp()<=0){System.out.println("Nashor win!");}else{System.out.println("Teemo win!");}}}package cn.tth.pratice0706;public class Teemo {private int atk;private int def;private double hp;public int getAtk() {return atk;}public void setAtk(int atk) {this.atk = atk;}public int getDef() {return def;}public void setDef(int def) {this.def = def;}public double getHp() {return hp;}public void setHp(int hp) {this.hp = hp;}public void BeAttacked(Nashor na){hp=hp-na.getAtk()*(1-def/100.0);}}package cn.tth.pratice0706;public class Nashor {private int atk;private int def;private double hp;public int getAtk() {return atk;}public void setAtk(int atk) {this.atk = atk;}public int getDef() {return def;}public void setDef(int def) {this.def = def;}public double getHp() {return hp;}public void setHp(int hp) {this.hp = hp;}public void BeAttacked(Teemo te){hp=hp-te.getAtk()*(1-def/100.0);}}

?

读书人网 >其他相关

热点推荐