java基础知识(2)—面向对象.属性和方法

本章会引入属性和方法的基本概念。

一个植物类(Plant)有很多的状态信息,如名字、话费、血量、攻击力和攻击速度等。

这些植物的状态就叫做一个类的属性。

Part 1:属性的类型

属性的类型可以是基本类型,比如int整数,float 浮点数也可以是类类型,比如String 字符串

public class Plant {
    String name; // 名字
    int cost; // 费用
    int hp;    // 血量
    int attack; //攻击力
    float attackSpeed; // 攻击速度
}

属性名称的命名规则:

一般来说,属性名称都是小写,比如name。如果有多个单词组成,后面的单词的第一个字母大写。比如说attackSpeed属性,该属性也是变量,所以需要满足变量的命名规则,如上述示例代码的展示。

Part 2:方法的概念

在一局的PVZ游戏中,每个植物都有自己的操作和状态,当一个植物的血量降低到0的时候,就是被“吃掉”。这个时候该植物就消失了,每个植物都会消失。

所以我们可以为Plant类,设计一个方法:plantDisappear

public class Plant {
    String name; // 名字
    int cost; // 费用
    int hp;    // 血量
    int attack; //攻击力
    float attackSpeed; // 攻击速度
    //血量为0
    void plantDisapper(){
        System.out.println("被吃掉了");
    }
}

Part 3:方法的返回类型

有些方法是有返回值类型的,比如方法:

int getHp(){
   return hp; 
}

这个方法是用来获得一个英雄有多少血量的,这个方法的返回值类型的int

有的方法不需要返回值,这个时候就需要把这个方法的返回值设置为void

比如说方法“吃掉”

 void plantDisapper(){
        System.out.println("被吃掉了");
    }
public class Plant {
    String name; // 名字
    int cost; // 费用
    int hp;    // 血量
    int attack; //攻击力
    float attackSpeed; // 攻击速度
    //获得当前血量
    int getHp(){
       return hp; 
    }
    //血量为0
    void plantDisapper(){
        System.out.println("被吃掉了");
    }
}

Part 4:方法的参数

植物在被使用能量豆之后,会进行特效攻击。在特效工具的情况下,会增加植物的攻击速度,这样我们就通过addAttackSpeed这个方法来增加攻击速度。

void addAttackSpeed(float speed){
  //在原来的基础上增加攻击速度
  attackSpeed = attackSpeed + speed;
}

在当中float speed叫做方法的参数

给单发豌豆增加一倍的攻击速度

Plant oneShotPeas = new Hero();
oneShotpeas.name = "单发豌豆";
oneShotpeas.attackSpeed = 1.0f;
oneShotpeas.addAttackSpeed(1.0);
public class Plant {
    String name; // 名字
    int cost; // 费用
    int hp;    // 血量
    int attack; //攻击力
    float attackSpeed; // 攻击速度
    //获得当前血量
    int getHp(){
       return hp; 
    }
    //在原来的基础上增加攻击速度
    void addAttackSpeed(float speed){
      attackSpeed = attackSpeed + speed;
    }
    //血量为0
    void plantDisapper(){
        System.out.println("被吃掉了");
    }
}
public class Hello
{
    public static void main(String[] args){
        Plant oneShotPeas = new Hero();
        oneShotpeas.name = "单发豌豆";
        oneShotpeas.attackSpeed = 1.0f;
        oneShotpeas.addAttackSpeed(1.0);
    }
}

Part 5:方法的命名

方法是一个类的动作行为,一般是以动词开头的,比如说getHp

如果说有多个单词,后面的每一个单词,后面的每个单词的第一个单词字母使用大写比如说

addAttackSpeed

public class Plant {
    String name; // 名字
    int cost; // 费用
    int hp;    // 血量
    int attack; //攻击力
    float attackSpeed; // 攻击速度
    //获得当前血量
    int getHp(){
       return hp; 
    }
    //在原来的基础上增加攻击速度
    void addAttackSpeed(float speed){
      attackSpeed = attackSpeed + speed;
    }
    //血量为0
    void plantDisapper(){
        System.out.println("被吃掉了");
    }
}

  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值