面向对象编程-封装
封装介绍:
封装的理解和好处:
封装的实现步螺:
封装快速入门案例-手动练习:
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 方法 结合
封装课堂练习
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
评论区