封装

该露的露,该藏得藏

  • 我们程序设计要追求“高内聚,低耦合”。高内聚就是类得内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量得方法给外部使用

封装(数据得隐藏)

  • 通常,应禁止直接访问一个对象中数据得实际表示,而应通过操作接口来访问,这称为信息隐藏

记住这句话就够了:属性私有,get/set

封装得意义

  • 通过private对属性进行私有隐藏,通过get/set进行获取设置
  • 提高程序得安全性,保护数据
  • 隐藏代码得实现细节
  • 统一接口
  • 系统可维护增加了

package oop.demo02;

//一个项目应该只有一个main方法
public class Application {
/*
封装得意义
1.提高程序得安全性,保护数据
2.隐藏代码得实现细节
3.统一接口
4.系统可维护增加了
*/
public static void main(String[] args) {
Demo02 s1 = new Demo02();
s1.getName();
System.out.println(s1.getName()); s1.setName("葛老头");
System.out.println(s1.getName());
}
}
package oop.demo02;

//类  private:私有
public class Demo02 { //属性私有
private String name;//名字
private int id;//学号
private char sex;//性别 //提供一些可以操作这个属性得方法
//提供一些public得get、set方法 //get获取这个数据
public String getName(){
return this.name;
} //set 给这个书设置值
public void setName(String name){
this.name = name;
}
}

最新文章

  1. 设计模式(七)适配器模式(Adapter Pattern)
  2. 一些LINQ的使用
  3. Java EE之一个表单两个按钮响应不同界面(登录与注册)
  4. JS 点击弹出图片/ 仿QQ商城点击左右滚动幻灯片/ 相册模块,点击弹出图片,并左右滚动幻灯片
  5. 你是否经常忘记网站上的各种密码?分享个密码管理软件LastPass
  6. ABP框架详解(二)AbpKernelModule
  7. p1205单词翻转-递归解决
  8. utf-8转换为ansi和修改文件名的批处理(可解决source insight中文注释乱码问题)
  9. C++实现多线程类Thread
  10. xls和xlsx
  11. Linux学习笔记之权限与命令之间的关系(重要)及文件与文件夹知识总结
  12. IOS开发-OC学习-Info.plist文件解析
  13. hadoop全分布式环境搭建
  14. BootStrap Table和Mybatis Plus实现服务端分页
  15. java的linux命令
  16. matplotlib中subplot的各参数的作用
  17. vim编辑器常见命令归纳大全
  18. java的8种基础类型
  19. (83)Wangdao.com第十七天_JavaScript 定时器
  20. 举例跟踪linux内核系统调用

热门文章

  1. 22javascript笔记(2)
  2. NOIP 模拟 $28\; \rm 割海成路之日$
  3. NOIP 模拟 9 分组
  4. 题解 Merchant
  5. 数据结构与算法-排序(十)桶排序(Bucket Sort)
  6. .net core 微服务参考文章
  7. C# 中的异步问题 Task
  8. 地球坐标系(WGS-84)转火星坐标系(GCJ)
  9. SpringBoot五步配置Mybatis
  10. JDK1.5新特性之注解