面向对象编程--封装
封装的介绍:
封装(encapsulation)就是把抽象出的数据【属性】和对数据的操作【方法】封装在一起,数据被保护在内部,程序的其他部分只有通过授权的操作【方法】,才能对数据进行操作。{对电视机的操作就是典型的封装(电视机内部操作,与遥控器的操作)}
封装的解释和好处
1)隐藏实现细节 方法(连接数据库)<--调用(传入参数...)
2)可以对数据进行验证,保证安全合理
封装的实现步骤
1)将属性进行私有化private[不能直接修改属性]
2)提供一个公共的(public)set方法,用于属性判断并赋值
3)提供一个公共的(public)get方法,用于获取属性的值
package com.javamj;
/**
* Copyright (C), 2018-2021, Mr.Lin
* Author: Mr.Lin
* Date: 2021/11/9 16:12
* FileName: Encapsulation01
* Description: 面型对象之封装
*/
public class Encapsulation01 {
public static void main(String[] args) {
Person person = new Person();
person.setName("lin165111321");
person.setAge(300);
person.setSalary(3666);
System.out.println(person.info());
}
static class Person{
public String name;
private Integer age;
private double salary;
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
", salary=" + salary +
'}';
}
public String getName() {
return name;
}
public void setName(String name) {
if(name.length()>=2&&name.length()<=6){
this.name = name;
}else {
System.out.println("您的名字输入有误,默认tom");
this.name = "tom";
}
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
if(age<1||age>120){
System.out.println("您输入的年龄有误,必须在1-120之间,请重新输入(默认年龄18)");
this.age = 18;
}else {
this.age = age;
}
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
//写一个方法返回属性
public String info(){
return "返回信息为:"+name+"\t"+age+"岁"+"\t\t"+salary;
}
}
}
浙公网安备 33010602011771号