欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java自学-类和对象 继承

程序员文章站 2023-11-13 13:41:10
什么是 Java的 继承 ? 在LOL中,武器是物品的一种,也是有名称和价格的 所以在设计类的时候,可以让武器继承物品,从而继承名称和价格属性 步骤 1 : 物品类Item 物品类Item 有属性 name,price public class Item { String name; int pri ......

什么是 java的 继承 ?

在lol中,武器是物品的一种,也是有名称和价格的
所以在设计类的时候,可以让武器继承物品,从而继承名称和价格属性

步骤 1 : 物品类item

物品类item 有属性 name,price

public class item {
    string name;
    int price;
}

步骤 2 : 武器类weapon(不继承)

武器类: weapon不继承item的写法
独立设计 name和price属性
同时多了一个属性 damage 攻击力

public class weapon{
    string name;
    int price;
    int damage; //攻击力
 
}

步骤 3 : 武器类weapon(继承类item)

这一次weapon继承item
虽然weapon自己没有设计name和price,但是通过继承item类,也具备了name和price属性

public class weapon extends item{
    int damage; //攻击力
     
    public static void main(string[] args) {
        weapon infinityedge = new weapon();
        infinityedge.damage = 65; //damage属性在类weapon中新设计的
         
        infinityedge.name = "无尽之刃";//name属性,是从item中继承来的,就不需要重复设计了
        infinityedge.price = 3600;
         
    }
     
}

练习
(设计一个类armor护甲
继承item类,并且额外提供一个属性ac: 护甲等级 int类型

实例化出两件护甲:
名称 价格 护甲等级
布甲 300 15
锁子甲 500 40)

代码:

public class armor extends item{
 
    int ac; //护甲等级
     
    public static void main(string[] args) {
        armor cloth = new armor();
        cloth.name="布甲";
        cloth.price=300;
        cloth.ac = 15;
         
        armor chainmail = new armor();
        chainmail.name="锁子甲";
        chainmail.price=500;
        chainmail.ac = 40;
    }
     
}