【java学习】第二天(封装)

quange 2022-4-11 83 4/11

面向对象编程-封装

封装介绍:

【java学习】第二天(封装)

封装的理解和好处:

【java学习】第二天(封装)

封装的实现步螺:

【java学习】第二天(封装)

封装快速入门案例-手动练习:

【java学习】第二天(封装)

package com.quange.encap;

public class Encapsulation01 {
    public static void main(String[] args) {
        Person person = new Person();
        person.setName("quange111");
        person.setAge(130);
        person.setSalary(40000);
        System.out.println(person.info());
    }
}

class Person {
    public String name; // 名字公开】
    private int age ; // 年龄私有化
    private double salary; // 工资私有化

    // 自己写setXxx 和 getXxx 太慢,可以使用快捷键 alt + ins 键 来自动生成

    public String getName() {
        return name;
    }

    public void setName(String name) {
        // 对加入对数据的校验
        if (name.length() >= 2 && name.length() <= 6){
            this.name = name;
        }else {
            System.out.println("姓名的长度不符合要求, 默认名字 quange");
            this.name = "quange";
        }

    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        // 对设置的年龄,进行判断是否符合要求
        if (age >= 1 && age <= 120){
            this.age = age;
        }else {
            System.out.println("你设置的年龄不符合要求,自动设置默认值 18 ");
            this.age = 18;
        }

    }

    public double getSalary() {
        return salary;
    }

    public void setSalary(double salary) {
        // 对工资进行校验
        if (salary >= 4000 && salary <= 10000){
            this.salary = salary;
        }else {
            System.out.println("设置的工资不符合要求,默认值 4000");
            this.salary = 4000;
        }
    }

    // 写一个方法,返回属性信息
    public String info(){
        return "姓名:" + name + "年龄:" + age + "工资:" + salary;
    }
}
姓名的长度不符合要求, 默认名字 quange
你设置的年龄不符合要求,自动设置默认值 18
设置的工资不符合要求,默认值 4000
姓名:quange年龄:18工资:4000.0

将构造器和setXxx 方法 结合

【java学习】第二天(封装)

封装课堂练习

【java学习】第二天(封装)

package com.quange.encap;

public class AccountTest {
    public static void main(String[] args) {
        Account account = new Account();
        account.setName("周杰伦12");
        account.setBalance(12.1);
        account.setPasswd("123");
        System.out.println(account.info());

    }
}
package com.quange.encap;

public class Account {
    private String name;
    private double balance;
    private String passwd;


    public String getPasswd() {
        return passwd;
    }

    public void setPasswd(String passwd) {
        if (passwd.length() == 6){
            this.passwd = passwd;
        }else {
            System.out.println("密码必须为六位,设置默认密码为123456");
            this.passwd = "123456";
        }
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        // 方法验证
        if (name.length() >= 2 && name.length() <= 4){
            this.name = name;
        }else {
            System.out.println("名字长度不符合要求,设置默认值为quange");
            this.name = "quange";
        }
    }

    public double getBalance() {
        return balance;
    }

    public void setBalance(double balance) {
        if (balance >= 20){
            this.balance = balance;
        }else {
            System.out.println("余额不符合要求,设置默认值为20");
            this.balance = 20;
        }
    }

    public String info(){
        return "姓名:" + name + "余额:" + balance + "密码:" + passwd;
    }
}
名字长度不符合要求,设置默认值为quange
余额不符合要求,设置默认值为20
密码必须为六位,设置默认密码为123456
姓名:quange余额:20.0密码:123456

进程已结束,退出代码0

 

- THE END -
最后修改:2022年4月11日
1

版权声明:
一、本站致力于为软件爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的所有下载文件均为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、我站提供用户下载的所有内容均转自互联网。如有内容侵犯您的版权或其他利益的,请编辑邮件并加以说明发送到站长邮箱。站长会进行审查之后,情况属实的会在三个工作日内为您删除。

共有 1 条评论

  1. quange博主

    签到成功!签到时间:2022-04-11 23:16:23,每日打卡,生活更精彩哦~