放假前上过类与对象的课~
发现自己的遗忘速度比我想象中的要快得多~ 正所谓“曲不离口拳不离手”,现在应
该是"曲不离口,键盘不离手"啊.
第二次做没有第一次吃力了,不过有点还是忘记了~
之前也有写过这个总结,熊哥说的,总结是写给自己看的。
熊哥今天很生气,后果很严重,嘿嘿。
同志们,我们都不要迟到,及时完成作业啊! 不想唱歌的说~
好吧~ 还是入正题了。
[size=large][align=center]类跟对象很重要。[/align][/size]
一.类:是从生活中抽象出来的,表示一类具有相似特征、行为的物体。
类由两个部分组成:1.属性 2.方法
属性对应对象的特征。
方法对应对象的行为。
类称之为模板。
二.对象:由类引申出来的表示具体的某一个物体或者某一个事物。
对象由两部分组成:1.特征 2.行为
1.特征、状态:对象本身所具有的特点;
2.行为、用途、功能:对象可以做或者被用来做什么;
三.定义一个类:
public class 类名{
//私有的,定义对象属性
private 数据类型 属性名;
//公有的,定义对象的方法
public 数据类型 方法名{
方法体;
}
}
四.实例化一个对象和调用方法:
实例化对象:
类名 对象名 = new 类名();
如: student str = new student();
调用方法:
对象名.方法;
如: str.getName();
五.对象是否可以作为参数
1.定义的类是可以作为数据类型的(引用类型、类类型或者对象类型)。
2.用来创建的对象自然可以作为参数。
remenber:设类名时,注意每个单词第一个字母都要大写.(那是Java的格式)
/*************************************************************/
练习:回合制游戏:奥特曼和小怪兽要战斗,直到一方的血量为0的时候结束战斗,输
出谁胜利了!
思路分析:
对象: 奥特曼,小怪兽;
共有的特征:姓名,血量;
行为:战斗,输了减血;
1.分别建一个超人和怪兽的类,定义属性,方法。名字、血量属性和战斗方法。
2.定义主函数,定义他们的特征(名字,血量)、行为(超人跟怪兽战斗),血量首先0
的就输了。
附上战斗的代码:
/******************超人类**************************/
public class Aoto{
//定义一个Aoto类
private String name;
private int blood;
//定义名字,得到名字
public void setName(String n){
name = n;
}
public String getName(){
return name;
}
//定义血量,得到血量
public void setBlood(int a){
blood = a;
}
public int getBlood(){
return blood;
}
//战斗,超人打怪兽,怪兽减血
public void fight(Monster Mo){
Mo.setBlood(Mo.getBlood()-1);
System.out.println(Mo.getName()+"被击中");
}
}
/******************怪兽类**************************/
public class Monster{
//定义一个Aoto类
private String name;
private int blood;
//定义名字,得到名字
public void setName(String n){
name = n;
}
public String getName(){
return name;
}
//定义血量,得到血量
public void setBlood(int a){
blood = a;
}
public int getBlood(){
return blood;
}
//战斗,怪兽打超人,超人减血
public void fight(Aoto Ao){
Ao.setBlood(Ao.getBlood()-1);
System.out.println(Ao.getName()+"被击中");
}
}
/******************入口函数**************************/
public class Manager{
//定义入口函数
public static void main(String [] args){
Aoto Ao = new Aoto();
Monster Mo = new Monster();
//定义Aoto对象
Ao.setName("奥特曼");
Ao.getName();
Ao.setBlood(10);
Ao.getBlood();
//定义Monster对象
Mo.setName("小怪兽");
Mo.getName();
Mo.setBlood(10);
Mo.getBlood();
//开始战斗
Ao.fight(Mo);
Mo.fight(Ao);
for(int i=0;i<7;i++){
Mo.fight(Ao);
}
for(int j=0;j<9;j++){
Ao.fight(Mo);
}
//决胜负
if(Ao.getBlood()<=0)
System.out.println(Mo.getName()+"赢了!");
else if(Mo.getBlood()<=0)
System.out.println(Ao.getName()+"赢了!");
else
System.out.println(Ao.getName()+"与"+Mo.getName()+"未能一决高下
");
}
}
/******************************************************************/
问题与解决方法:
这个程序就卡住的地方就是fight函数~
开始学是这样的:
public void fight(Aoto Ao){
Ao.getBlood()--;
System.out.println(Ao.getName()+"被击中");
}
逻辑错,还不能编译(这不知道为什么);
getBlood()一直是setBlood里面的数啊~ 不会改~ 所以这样做是错的。
改正之后就是:
public void fight(Aoto Ao){
Ao.setBlood(Ao.getBlood()-1);
System.out.println(Ao.getName()+"被击中");
}
发现自己的遗忘速度比我想象中的要快得多~ 正所谓“曲不离口拳不离手”,现在应
该是"曲不离口,键盘不离手"啊.
第二次做没有第一次吃力了,不过有点还是忘记了~
之前也有写过这个总结,熊哥说的,总结是写给自己看的。
熊哥今天很生气,后果很严重,嘿嘿。
同志们,我们都不要迟到,及时完成作业啊! 不想唱歌的说~
好吧~ 还是入正题了。
[size=large][align=center]类跟对象很重要。[/align][/size]
一.类:是从生活中抽象出来的,表示一类具有相似特征、行为的物体。
类由两个部分组成:1.属性 2.方法
属性对应对象的特征。
方法对应对象的行为。
类称之为模板。
二.对象:由类引申出来的表示具体的某一个物体或者某一个事物。
对象由两部分组成:1.特征 2.行为
1.特征、状态:对象本身所具有的特点;
2.行为、用途、功能:对象可以做或者被用来做什么;
三.定义一个类:
public class 类名{
//私有的,定义对象属性
private 数据类型 属性名;
//公有的,定义对象的方法
public 数据类型 方法名{
方法体;
}
}
四.实例化一个对象和调用方法:
实例化对象:
类名 对象名 = new 类名();
如: student str = new student();
调用方法:
对象名.方法;
如: str.getName();
五.对象是否可以作为参数
1.定义的类是可以作为数据类型的(引用类型、类类型或者对象类型)。
2.用来创建的对象自然可以作为参数。
remenber:设类名时,注意每个单词第一个字母都要大写.(那是Java的格式)
/*************************************************************/
练习:回合制游戏:奥特曼和小怪兽要战斗,直到一方的血量为0的时候结束战斗,输
出谁胜利了!
思路分析:
对象: 奥特曼,小怪兽;
共有的特征:姓名,血量;
行为:战斗,输了减血;
1.分别建一个超人和怪兽的类,定义属性,方法。名字、血量属性和战斗方法。
2.定义主函数,定义他们的特征(名字,血量)、行为(超人跟怪兽战斗),血量首先0
的就输了。
附上战斗的代码:
/******************超人类**************************/
public class Aoto{
//定义一个Aoto类
private String name;
private int blood;
//定义名字,得到名字
public void setName(String n){
name = n;
}
public String getName(){
return name;
}
//定义血量,得到血量
public void setBlood(int a){
blood = a;
}
public int getBlood(){
return blood;
}
//战斗,超人打怪兽,怪兽减血
public void fight(Monster Mo){
Mo.setBlood(Mo.getBlood()-1);
System.out.println(Mo.getName()+"被击中");
}
}
/******************怪兽类**************************/
public class Monster{
//定义一个Aoto类
private String name;
private int blood;
//定义名字,得到名字
public void setName(String n){
name = n;
}
public String getName(){
return name;
}
//定义血量,得到血量
public void setBlood(int a){
blood = a;
}
public int getBlood(){
return blood;
}
//战斗,怪兽打超人,超人减血
public void fight(Aoto Ao){
Ao.setBlood(Ao.getBlood()-1);
System.out.println(Ao.getName()+"被击中");
}
}
/******************入口函数**************************/
public class Manager{
//定义入口函数
public static void main(String [] args){
Aoto Ao = new Aoto();
Monster Mo = new Monster();
//定义Aoto对象
Ao.setName("奥特曼");
Ao.getName();
Ao.setBlood(10);
Ao.getBlood();
//定义Monster对象
Mo.setName("小怪兽");
Mo.getName();
Mo.setBlood(10);
Mo.getBlood();
//开始战斗
Ao.fight(Mo);
Mo.fight(Ao);
for(int i=0;i<7;i++){
Mo.fight(Ao);
}
for(int j=0;j<9;j++){
Ao.fight(Mo);
}
//决胜负
if(Ao.getBlood()<=0)
System.out.println(Mo.getName()+"赢了!");
else if(Mo.getBlood()<=0)
System.out.println(Ao.getName()+"赢了!");
else
System.out.println(Ao.getName()+"与"+Mo.getName()+"未能一决高下
");
}
}
/******************************************************************/
问题与解决方法:
这个程序就卡住的地方就是fight函数~
开始学是这样的:
public void fight(Aoto Ao){
Ao.getBlood()--;
System.out.println(Ao.getName()+"被击中");
}
逻辑错,还不能编译(这不知道为什么);
getBlood()一直是setBlood里面的数啊~ 不会改~ 所以这样做是错的。
改正之后就是:
public void fight(Aoto Ao){
Ao.setBlood(Ao.getBlood()-1);
System.out.println(Ao.getName()+"被击中");
}