• 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方法
        }
    }

  • 相关阅读:
    andriod 支付宝类似界面图片加文字
    评分条RatingBar Android
    Android 进度条对话框ProgressDialog
    Android 日期对话框DatePickerDialog
    andriod GridLayout
    android:TableLayout表格布局详解
    ArcGIS 10 SP5中文版(ArcGIS10补丁5中文版)
    Engine中如何进行七参数投影转换?
    如何去除栅格影像的黑边?
    资管机构年中规模排名出炉:中信资管规模超万亿
  • 原文地址:https://www.cnblogs.com/qq993411626------/p/10279047.html
Copyright © 2020-2023  润新知