### 面向对象中的封装
一、封装的定义是什么?
在面向对象程式设计方法中,封装(英语: Encapsulation) 是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。
封装可以被认为是一个保护屏障, 防止该类的代码和数据被外部类定义的代码随机访问。
要访问该类的代码和数据,必须通过严格的接口控制。
封装最主要的功能:在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。
适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。
二、封装的优点
1.良好的封装能够减少耦合度。
2.类内部的结构可以自由修改。
3.可以对成员变量进行更精确的控制。
4.隐藏信息,实现细节。
三、封装的步骤及格式
第一段代码:
(注:以下两段代码是放在同一个类Person02中实现的)
/**
* 封装的步骤:
* 1.所有属性私有化,使用private关键字进行修饰,private表示私有的,修饰的所有数据只能在本类中访问。
* 2.对外提供简单的操作入口,也就是说以后外部程序要想访问类内部的属性,必须通过这些简单的入口进行访问。
*/
public class Person02 {
/**
* 昵称
*/
private String name;
/**
* 年龄
*/
private int age;
/**
* 性别
*/
private int sex;
}
第二段代码:
/* *
* 对外提供两个公开的方法,分别是set方法和get方法
* 第一种方式:读取这个属性的值,调用get方法
* 第二种方式:修改这个属性的值,修改set方法
* 注意:setter and getter方法是没有static关键字的
* 有static关键字修饰的方法怎么调用:类名. 方法名(实参) ;
* 没有static关键字修饰的方法怎么调用:引用.方法名(实参) ;
*/
public void setAge(int b) {
//set方法命名规范:public void(因为set方法没有返回值) set+属性名“注意首字母大写”(形参){}
//在程序的入口进行业务逻辑判断
if (b < 0 || b >150