面向对象定义一个hero类

简介: 面向对象定义一个hero类

问题

定义一个hero类,属性有power,name,分别代表体力值和英雄的名字,体力值默认为100;方法有:1.行走的方法如果体力值为0,则输出不能行走,此英雌已死亡的信息;2.吃的方法:参数是补充的血量,将n的值加到属性power中,power的值最大为100;3.每收到一次伤害,体力值-10,体力值最小不能小于0.


方法

package lab06;
import java.util.Scanner;
public class power {
       double power=100;//体力值
       String name;
//    int n;//补充的血量
       //行走方法
       public void go(double power){
           if(power>0){
               System.out.println("继续游戏");
           }
           else if(power<=0){
               System.out.println("不能行走,英雄已经死亡");
           }
       }
       //参数是补充的血量,将 n的值加到属性power中,power的值最大为100,
       public double eat(int n){
           power=power+n;
           if(power>100){
               return 0;
           }
           return power;
       }
       //伤害方法
       // 每受到一次伤害,体力值-10,体力值最小不能小于0
       public double hurt(){
           System.out.println("输入伤害次数");
           Scanner sca=new Scanner(System.in);
           //伤害次数
           int count=sca.nextInt();
           power=power-count*10;
           if(power<=0){
               go(power);
           }
           return power;
       }
       public power(double power,String name){
           this.power=power;
           this.name=name;
       }
   }
package lab06;

public class lab06text01 {

       public static void main(String[] args) {
           power excel2=new power(20,"奥特曼");
//        System.out.println(excel2.power);//输出体力值
           //调用eat方法
//        double result=excel2.eat(-20);
//        System.out.println(result);

           //调用hurt方法
           double result2=excel2.hurt();
           System.out.println(result2);
       }
   }



3 结语

定义了一个hero类,它的属性有体力和名字,定义了三个方法go方法if判断体力值是否大于0,eat( int n)方法中power加上传入的n,重新赋值power。Hurt方法中输入伤害次数,重新计算体力值,调用go方法,输出判断是否死亡。

目录
相关文章
|
存储 弹性计算 JavaScript
面向对象-1:类的定义
本实验将介绍TypeScript中类的定义
|
5月前
|
Kotlin
Kotlin类的定义、构造函数、封装、继承和多态
Kotlin类的定义、构造函数、封装、继承和多态
|
5月前
|
设计模式 JavaScript 前端开发
在JavaScript中,继承是一个重要的概念,它允许我们基于现有的类(或构造函数)创建新的类
【6月更文挑战第15天】JavaScript继承促进代码复用与扩展,创建类层次结构,但过深的继承链导致复杂性增加,紧密耦合增加维护成本,单继承限制灵活性,方法覆盖可能隐藏父类功能,且可能影响性能。设计时需谨慎权衡并考虑使用组合等替代方案。
46 7
|
5月前
|
数据安全/隐私保护
类与对象\类的定义
类与对象\类的定义
29 0
|
5月前
|
Java 编译器 数据处理
JavaSE——面相对象高级一(4/4)-继承相关的注意事项:权限修饰符、单继承、Object类、方法重写、子类访问成员的特点......
JavaSE——面相对象高级一(4/4)-继承相关的注意事项:权限修饰符、单继承、Object类、方法重写、子类访问成员的特点......
57 0
|
6月前
|
C#
C#学习相关系列之数据类型类----嵌套类和嵌套方法(三)
C#学习相关系列之数据类型类----嵌套类和嵌套方法(三)
|
C语言 C++
习题10.3 分别定义Teacher类和Cadre类,采用多重继承方式由这两个类派生出新类Teacher_Cadre类。
习题10.3 分别定义Teacher类和Cadre类,采用多重继承方式由这两个类派生出新类Teacher_Cadre类。
|
Java
java学习第十三天笔记-面向对象249-继承中成员方法和成员变量的特点-利用方法的重写去设计继承结构
java学习第十三天笔记-面向对象249-继承中成员方法和成员变量的特点-利用方法的重写去设计继承结构
85 0
java学习第十三天笔记-面向对象249-继承中成员方法和成员变量的特点-利用方法的重写去设计继承结构
|
存储 Java 编译器
【C++初阶:类和对象(上篇)】类的定义 | 类的访问限定符及封装 | 类的作用域 | 类的实例化 | 类对象模型 | this指针
【C++初阶:类和对象(上篇)】类的定义 | 类的访问限定符及封装 | 类的作用域 | 类的实例化 | 类对象模型 | this指针
156 0
【C++初阶:类和对象(上篇)】类的定义 | 类的访问限定符及封装 | 类的作用域 | 类的实例化 | 类对象模型 | this指针