面向对象编程--封装

 

  封装的介绍:

    封装(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;
}
}
}
posted @ 2021-11-09 16:07  骄傲的林先生  阅读(56)  评论(0)    收藏  举报