首页后端开发其他后端知识Java封装和继承不理解?两个案例帮到你

Java封装和继承不理解?两个案例帮到你

时间2024-03-28 15:52:03发布访客分类其他后端知识浏览479
导读:这篇文章给大家分享的是Java封装和继承的相关案例,主要利用了封装和继承的方法,对大家学习和理解Java封装和继承有一定的参考学习价值,文中的示例代码介绍得很详细,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。一、代码及效果图1.封...

这篇文章给大家分享的是Java封装和继承的相关案例,主要利用了封装和继承的方法,对大家学习和理解Java封装和继承有一定的参考学习价值,文中的示例代码介绍得很详细,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。

一、代码及效果图

1.封装

案例:需求说明
使用封装实现电子宠物系统的企鹅类正确输入健康值和亲密度
保证健康值的有效性(0-100),否则取默认值60
保证亲密度的有效性(0-100),否则取默认值60
代码如下(示例):

package work1;


public class Dog {
    
    private String name;
    
    private String sex;
    
    private int love;


    public String getName() {
    
        return name;

    }


    public void setName(String name) {
    
        this.name = name;

    }


    public String getSex() {
    
        return sex;

    }


    public void setSex(int sex) {

        if(sex==1){
    
            this.sex = "Q仔";

        }
else{
    
            this.sex = "Q妹";

        }


    }


    public int getLove() {
    
        return love;

    }


    public void setLove(int love) {
    
        if(love>
    =0&
    &
love=100){
    
            this.love = love;

        }
else {
    
            System.out.println("亲密度应该在0-100之间,默认值是60");
    
            this.love = 60;

        }

    }

}
    
package work1;


public class Penguin {
    
    private String name;
    
    private String sex;
    
    private int health;


    public String getName() {
    
        return name;

    }


    public void setName(String name) {
    
        this.name = name;

    }


    public String getSex() {
    
        return sex;

    }


    public void setSex(int sex) {

        if(sex==1){
    
            this.sex = "Q仔";

        }
else{
    
            this.sex = "Q妹";

        }


    }


    public int getHealth() {
    
        return health;

    }


    public void setHealth(int health) {
    
        if(health>
    =0&
    &
health=100){
    
            this.health = health;

        }
else {
    
            System.out.println("健康值应该在0-100之间,默认值是60");
    
            this.health = 60;

        }

    }

}
    
package work1;
    

import java.util.Scanner;


public class Test1 {

    public static void main(String[] args) {
    
        Scanner sc = new Scanner(System.in);
    
        System.out.println("欢迎您来到宠物店! \n 请输入要领养宠物的名字:");
    
        String name = sc.next();
    
        System.out.println("请选择要领养的宠物类型:(1.狗狗  2.企鹅)");
    
        int i = sc.nextInt();

        if(i==1){
    //狗狗
            Dog dog = new Dog();
    
            dog.setName(name);
    
            System.out.println("请选择狗狗的性别:(1.Q仔  2.Q妹)");
    
            dog.setSex(sc.nextInt());
    
            System.out.println("请输入狗狗的亲密度(1~100之间):");
    
            dog.setLove(sc.nextInt());
    

            System.out.println("宠物的自白:\n 我的名字叫"+name+",健康值是"+0+",和主人的" +
                    "亲密度是"+dog.getLove()+",我的性别是"+dog.getSex());

        }
else {
    //企鹅
            Penguin p = new Penguin();
    
            p.setName(name);
    
            System.out.println("请选择企鹅的性别:(1.Q仔  2.Q妹)");
    
             p.setSex(sc.nextInt());
    
            System.out.println("请输入企鹅的健康值(1~100之间):");
    
             p.setHealth(sc.nextInt());
    
            System.out.println("宠物的自白:\n 我的名字叫"+name+",健康值是"+p.getHealth()+",和主人的" +
                    "亲密度是"+0+",我的性别是"+p.getSex());

        }


    }

}
    

2.继承

案例:使用继承优化电子宠物系统,抽取父类,创建子类,在子类中使用super调用父类构造方法。
代码如下(示例):

package work3;


public class Dog extends Pet {

    @Override
    public void show() {
    
        System.out.println("宠物的自白:\n 我的名字叫"+this.getName()+",健康值是"+0+",和主人的" +
                "亲密度是"+this.getLove()+",我的性别是"+this.getSex());

    }
    

    private int love;


    public Dog(String name, int sex, int love) {
    
        super(name, sex);
    
        this.love = love;

    }


    public int getLove() {
    
        return love;

    }


    public void setLove(int love) {
    
        if(love>
    =0&
    &
love=100){
    
            this.love = love;

        }
else {
    
            System.out.println("亲密度应该在0-100之间,默认值是60");
    
            this.love = 60;

        }

    }

}
    
package work3;


public class Penguin extends Pet {


    @Override
    public void show() {
    
        System.out.println("宠物的自白:\n 我的名字叫"+this.getName()+",健康值是"+this.getHealth()+",和主人的" +
                "亲密度是"+0+",我的性别是"+this.getSex());

    }
    
    private int health;


    public Penguin(String name, int sex, int health) {
    
        super(name, sex);
    
        this.health = health;

    }


    public int getHealth() {
    
        return health;

    }


    public void setHealth(int health) {
    
        if(health>
    =0&
    &
health=100){
    
            this.health = health;

        }
else {
    
            System.out.println("健康值应该在0-100之间,默认值是60");
    
            this.health = 60;

        }

    }

}
    
package work3;


public class Pet {
    
    private String name;
    
    private String sex;


    public void show(){


    }


    public Pet(String name, int sex) {
    
        this.name = name;

        if(sex==1){
    
            this.sex = "Q仔";

        }
else{
    
            this.sex = "Q妹";

        }

    }


    public String getName() {
    
        return name;

    }


    public void setName(String name) {
    
        this.name = name;

    }


    public String getSex() {
    
        return sex;

    }


    public void setSex(int sex) {

        if(sex==1){
    
            this.sex = "Q仔";

        }
else{
    
            this.sex = "Q妹";

        }


    }

}
    
package work3;
    

import java.util.Scanner;
    

import static java.lang.System.out;


public class Test2 {

    public static void main(String[] args) {
    
        Scanner sc = new Scanner(System.in);
    
        out.println("欢迎您来到宠物店! \n 请输入要领养宠物的名字:");
    
        String name = sc.next();
    
        out.println("请选择要领养的宠物类型:(1.狗狗  2.企鹅)");
    
        int i = sc.nextInt();

        if (i==1){
    //狗狗
            out.println("请选择狗狗的性别:(1.Q仔  2.Q妹)");
    
            int sex=sc.nextInt();
    
            out.println("请输入狗狗的亲密度(1~100之间):");
    
            Dog dog = new Dog(name, sex, sc.nextInt());
    
            dog.show();

        }
else {
    //企鹅
            out.println("请选择企鹅的性别:(1.Q仔  2.Q妹)");
    
            int sex=sc.nextInt();
    
            out.println("请输入企鹅的健康值(1~100之间):");
    
            Penguin p = new Penguin(name, sex, sc.nextInt());
    
            p.show();

        }

    }

}
    

总结

关于Java封装和继承案例的内容就介绍到这,上述示例具有一定的借鉴价值,感兴趣的朋友可以参考,希望能对大家有帮助,想要了解更多Java封装和继承的介绍,大家可以关注网络其它的相关文章。

文本转载自PHP中文网

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Java封装和继承不理解?两个案例帮到你
本文地址: https://pptw.com/jishu/655041.html
聊聊Java List集合类的应用,这些坑你踩过吗? d3.js绘制立体柱图的操作步骤是什么

游客 回复需填写必要信息