一.封装的概述
封装是指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。
是面向对象思想的特征之一,面向对象共有三个特征:封装,继承,多态。
二.封装的优点
1.良好的封装能够减少耦合。
2. 类内部的结构可以自由修改。
3. 可以对成员变量进行更精确的控制。
4. 隐藏信息,实现细节。
三.封装举例(步骤)
1. 修改属性的可见性来限制对属性的访问(一般限制为private)
public class Person {
private String name;
private int age;
}
将 name 和 age 属性设置为私有的,只能本类才能访问,其他类都访问不了,如此就对信息进行了隐藏。
2.对外提供公共方法访问(get&set)
public class Person{
private String name;
private int age;
public int getAge(){
return age;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age = age;
}
public void setName(String name){
= name;
}
}
四.this的解释与应用
在成员变量名前面加上this.来区别成员变量和局部变量
//在Person类中定义功能,判断两个人是否是同龄人
class Person {
private int age;
private String name;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
= name;
}
public void speak() {
System.out.println("name=" + + ",age=" + this.age);
}
// 判断是否为同龄人
public boolean equalsAge(Person p) {
// 使用当前调用该equalsAge方法对象的age和传递进来p的age进行比较
// 由于无法确定具体是哪一个对象调用equalsAge方法,这里就可以使用this来代替
/*
* if(this.age == p.age) { return true; } return false;
*/
return this.age == p.age;
}
}