定义
对象和类对象:一个具体的实体,一个具体的事物。
对象:类的具体实例
类:是对象的抽象模板
把具有相同属性和功能的对象,归为一个类别,对类型进行描述。
分析
美国队长PK灭霸,采用回合制,每次攻击让对方血量减少,减少量为攻击方的攻击值,重复,直到每一方的血量为0
第一步:分析场景中有哪些对象
美国队长,灭霸
第二部:分析对象的属性和方法
美国队长
属性:姓名,生命值,攻击值,反噬值
方法:攻击
参数:灭霸(对象的类,所属的类)
方法体:每次攻击对方生命值减少攻击方的攻击值,攻击者的生命值减少被攻击者的反噬值。
判段游戏是否结束
灭霸:同上,省略。
java中的类
public class payer2 {
public int vitality;
public String name;
public int attack;
public int trump;
public void attack2(payer1 a){
vitality-=a.trump;
a.vitality-=attack;
System.out.println(name+"攻击"+a.name+","+name+"的生命值减少"+a.trump+","+"当前剩余"+vitality+","+a.name+"的生命值减少"+attack+","+"当前剩余"+a.vitality);
if(vitality<=0&&a.vitality<=0){
System.out.println(name+"和"+a.name+"同时死亡"+",游戏结束");
}
else if(vitality<=0){
System.out.println(name+"死亡"+",游戏结束");
}
else if(a.vitality<=0){
System.out.println(a.name+"死亡"+",游戏结束");
}
}
}
一个类可以包含以下类型变量:
局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。
一个类中可以包含多个方法,比如attack2是一个方法
创建对象
payer1 player1 = new payer1();
使用new来创建一个对象,创建的时候会自动调用这个类的构造方法,每个类都有构造方法。如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认构造方法。
在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。
public class student{
public student(){
}
public student(string name){
}
}
初始化对象
我们可以直接调用类的构造方法初始化,或者我们直接赋值或输入
layer1.name="美国队长";
player1.vitality=rand.nextInt(65)+ 64;
player1.attack=rand.nextInt(20)+1;
player1.trump=rand.nextInt(10)+1;
访问实例化对象
public class Student {
int Age;
public Student(String name) {
// 此构造函数有一个参数:name
System.out.println("设置的学生名字是: " + name);
}
public void setAge(int age) {
Age = age;
}
public int getAge() {
System.out.println("学生的年龄是: " + Age);
return Age;
}
public static void main(String[] args) {
/* 创建对象 */
Student st = new Student("小明");
/* 调用方法来设置学生的年龄 */
st.setAge(2);
/* 调用另一个方法来获取学生的年龄 */
st.getAge();
/* 也可以按如下方式访问实例变量:Age */
System.out.println("变量的值是:" + st.Age);
}
}
我们可以在主函数中直接获取变量的值,或者调用方法来获取变量的值。我们可以看到用new来创建对象的时候调用了Student函数体,将学生的名字进行了添加。
来源:CSDN
作者:暖男小王子
链接:https://blog.csdn.net/weixin_44143695/article/details/103234824