java第六章 封装

实现封装:
1、设为private,防止错误的修改
2、创建共有的getter/setter方法
3、在getter/setter方法中加入属性控制语句

封装的意义:

包的概述:
java中的包机制也是封装的一种形式
作用:
包允许将类组合成较小的单元(类似文件夹),易于找到和使用相应的类文件
防止命名冲突
包允许在更广的范围内保护类、数据和方法

练习:

package com.fengzhuang;
/**
 * Dog.java
 * @author 陈
 *2019.1.16
 */
public class Dog {
    //创建一个类
    String name;
    //定义名字
    private String sex;
    //定义性别 设置私有
    private int health;
    //定义健康值 设置私有
    private int love;
    //定义亲密度 设置私有
    private String choose;
    //定义选择类型那种类型的宠物 设置私有
    
    public String getChoose() {
        //定义获得选择哪种类型的宠物的方法
        return choose;
    }

    public void setChoose(String choose) {
        //定义设置选择哪种类型的宠物值得方法
        if(choose.equals("1")) {    
            //如果输入1 选择为狗狗类型
            choose = "狗狗";
        }else if(choose.equals("2")) {
            //如果摄入2 选择为企鹅类型
            choose ="企鹅";
        }else {
            //否则默认为狗狗类
            System.out.println("没有你选择的类型。默认为1、狗狗");
            choose = "狗狗";
        }
        this.choose = choose;
    }

    public String getName() {
        return name;
    }

    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        //定义设置宠物性别值的方法
        if(sex.equals("1")) {
            //如果输入1 性别赋值Q仔
            sex = "Q仔";
        }else if(sex.equals("2")) {
            //如果输入2 性别赋值Q妹
            sex = "Q妹";
        }else {
            //否则默认Q仔
            System.out.println("输入的性别有误,默认Q仔。");
            sex = "Q仔";
        }
        this.sex = sex;
    }
    public int getHealth() {
        return health;
    }
    public void setHealth(int health) {
        //定义设置健康值的方法
        if(health>100||health<0) {
            //如果健康值大于100且小于0 则默认健康值为60
            System.out.println("设置的值超出范围,默认设置60.");
            health = 60;
        
        }
        this.health = health;
    }
    public int getLove() {
        return love;
    }
    public void setLove(int love) {
        //定义设置亲密度的方法
        if(love>100&&love<0) {
            //如果健康值大于100小于0 则默认60
            System.out.println("设置的值超出范围,默认设置60.");
            love = 60;
            return;
        }
        this.love = love;
    }
    public void make() {
        //定义宠物自白的方法
        System.out.println("宠物的自白:");
        System.out.println("我的名字叫"+name+",健康值是"+this.health+",和主人的亲密度是"+love+",我的性别是"+sex);
    }
}
package com.fengzhuang;
/**
 * Test.java
 * 陈
 * 2019.1.16
 */
import java.util.Scanner;

public class Test {
    //创建一个测试类
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Dog dog = new Dog();
        //创建dog对象
        System.out.println("欢迎您来到宠物店!");
        System.out.println("请输入要领养宠物的名字:");
        dog.name = sc.nextLine();
        //调用类给name赋值
        System.out.println("请选择要领养的宠物类型:(1、狗狗 2、企鹅)");
        dog.setChoose(sc.nextLine());
        //调用setChoose方法给choose赋值
        System.out.println("请选择"+dog.getChoose()+"的性别(1、Q仔 2、Q妹):");
        dog.setSex(sc.nextLine());
        //调用setSex方法给sex赋值
        System.out.println("请输入"+dog.getChoose()+"健康值(1~100之间)");
        dog.setHealth(sc.nextInt());
        //调用setHeakth给health赋值
        dog.make();
        //调用make方法
    }
}

猜你喜欢

转载自www.cnblogs.com/qq993411626------/p/10279047.html