2022.3.14 封装
-
该露的露,该藏的藏
-
我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅易露少量的方法给外部使用。
-
-
封装(数据的隐藏)
-
通常。应禁止直接访问一个对象中数据的实际表示,而应逼过操作接口来访问。这称为信息隐藏。
-
-
记住这句话就够了:属性私有,get/set
封装的意义
-
提高程序的安全性,保护数据
-
隐藏代码的细节
-
统一接口get,set
-
提高了系统的可维护性
1 package com.oop.demo04; 2 3 //private 私有的 4 public class Student { 5 //属性私有 6 private String name;//名字 7 private char sex;//性别 8 private int age; 9 10 //提供一些可以操作这个属性的方法 11 //提供一些public的get,set方法 12 13 //set 给这个数据设置值 14 public void setName(String name) { 15 //这个类的name = 形式参数name 16 this.name = name; 17 } 18 //get 获得这个数据 19 public String getName() { 20 return this.name; 21 } 22 23 public char getSex() { 24 return sex; 25 } 26 27 public void setSex(char sex) { 28 this.sex = sex; 29 } 30 31 public int getAge() { 32 return age; 33 } 34 35 public void setAge(int age) { 36 if (age > 120 || age < 0) { 37 System.out.println("输入的年龄有误"); 38 }else{ 39 this.age = age; 40 } 41 42 } 43 } 44 /* public static void main(String[] args) { 45 Student s1 = new Student(); 46 //s1.name 属性私有不可以这么调用,public可以 47 48 s1.setName("小明"); 49 System.out.println(s1.getName()); 50 s1.setAge(130);//输出的年龄有误 51 s1.getAge(); 52 53 } 54 55 */
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现