封装详解

封装

  • 该露的露,该藏的藏

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

    1、通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。
  • 记住:属性私有,get/set。

封装的作用:

  • 提高程序的安全性,保护数据
  • 隐藏代码的实现细节
  • 统一接口
  • 增加系统的可维护性
package OOP.Demo04;
//类
public class Student { //名字、学号、性别、学习、睡觉
//属性私有
private String name;//名字
private int id ;//学号
private char sex;//性别
private int age;//性别 //提供一些可以操作这个属性的方法
//提供一些public 的get、set方法
//get 获得这个数据
public String getName(){
return this.name;
}
//set 给这个数据设置值
public void setName(String name){
this.name = name;
} public int getAge() {
return age;
}
public void setAge(int age) {
if (age>120 || age <0){
this.age = 3;
}else{
this.age = age;
}
}
}

程序的调用

package OOP.Demo04;

public class Application {
public static void main(String[] args) {
Student s1 = new Student(); s1.getName();
s1.setName("张三");
System.out.println(s1.getName()); s1.setAge(999);
System.out.println(s1.getAge());
}
}

被真相伤害总好过被谎言欺骗。

最新文章

  1. iOS10 权限配置
  2. Spring-Context的注解实现依赖注入功能
  3. Ztree 随笔记
  4. (8)分布式下的爬虫Scrapy应该如何做-图片下载(源码放送)
  5. Sql语句里的递归查询
  6. TFS 2013 配置的时候,提示TF255466错误
  7. Windows Kernel Way 1:Windows内核调试技术
  8. YII安装smarty-view-renderer扩展
  9. GDI 开发的准备工作
  10. 04737_C++程序设计_第6章_继承和派生
  11. 仿JQ插件
  12. open打开窗口并且获得打开窗口的窗口对象
  13. C语言之字符集、ASCII码和sizeof运算符
  14. Java高级特性之反射
  15. 管中窥豹——从对象的生命周期梳理JVM内存结构、GC调优、类加载、AOP编程及性能监控
  16. .net core 灵活读取配置文件
  17. 关于git的认证方式
  18. Python module ---- getopt
  19. 窥探ASP.Net MVC底层原理 实现跨越Session的分布式TempData
  20. 【Access2007】将Excel表导入至Access2007的当中一张已存在的表之中

热门文章

  1. CVE-2022-32532 Apache Shiro 身份认证绕过
  2. python基础练习题 经常更新
  3. arm架构的M1对有i386和x86的架构不兼容
  4. &amp;amp;#127538;Eclipse通过jdbc连接数据库制作简单登陆界面【新手必看】
  5. 反馈电路的Bode分析法
  6. webpack打包后发现有一部分代码还携带注释,如何解决?/webpack打包删除注释以及console.log--快快点进来看一看吧~~
  7. Java基础1-1-4—java基础语法(循环+随机数)
  8. 网络通讯协议分类-IP地址
  9. 11月30日内容总结——前端简介、http协议概念、html协议概念及基础知识和部分标签的讲解
  10. Thymeleaf中判断Security权限 - SpringBoot