Java第二阶段---11封装---第一节 封装(Encapsulation)
1. 什么是封装
封装就是将类的部分(也可能是所有)属性和方法隐藏起来,不允外部程序直接访问,只能通过该类提供的公开的方法(接口)来访问类中定义的属性和方法。封装是面对对象的三大特征之一。
2.如何使用封装
示例
public class Person {
public String name;//姓名
public int age;//年龄
public String secret;//秘密
//定义了一个构造方法用来创造对象
public Person(String name,int age, String secret){
this.name = name;
this.age = age;
this.secret = secret;
}
}
修改属性的可见性:将类中定义的所有属性全部修改为private修饰
public class Person {
private String name;//姓名
private int age;//年龄
private String secret;//秘密
//定义了一个构造方法用来创造对象
public Person(String name,int age, String secret){
this.name = name;
this.age = age;
this.secret = secret;
}
}
创建公开的getter/setter方法:用于读取/修改属性值
public class Person {
private String name;//姓名
private int age;//年龄
private String secret;//秘密
//定义了一个构造方法用来创造对象
public Person(String name,int age, String secret){
this.name = name;
this.age = age;
this.secret = secret;
}
//ALT + INSERT
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
if(age<0){
System.out.println("你输入的年龄不合法,年龄必须为 > 0 的整数");
}else{
this.age = age;
}
}
public String getSecret() {
return secret;
}
public void setSecret(String secret) {
this.secret = secret;
}
}
在getter/setter方法中加入控制语句:用于对属性值的合法性校验
public void setAge(int age) {
if(age<0){
System.out.println("你输入的年龄不合法,年龄必须为 > 0 的整数");
}else{
this.age = age;
}
}
3. 为什么要使用封装
a.封装提高了代码的重用性。因为封装会提供对外访问的公开的方法,而方法可以重用,因此封装提高了代码的重用性。
b.封装提高了代码的可维护性。
比如:年龄在设计时只考虑到了负数的情况,没有考虑实际生活中的情况,人的年龄一般都不会超过200岁,因此还需要加上一层验证
public void setAge(int age){
if(age < 0 || age>200){
System.out.println("你输入的年龄不合法,年龄必须为0~200之间的整数");
}else{
this.age = age;
}
}
原文地址:https://blog.csdn.net/2301_80300263/article/details/142719664
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!