Java基础学习:面向对象08(封装)
-
封装:该露的露,该隐藏的隐藏;
-
我们程序设计要追求”高内聚,低耦合“;
-
高内聚:就是类的内部数据操作细节自己完成;不允许外部干涉;
-
低耦合:仅暴露少了的方法给外部使用;
-
-
-
封装:(数据的隐藏)
-
通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏;
-
-
记住:
-
-
封装的意义:
-
提高程序的安全性,保护数据;
-
隐藏代码的实现细节
-
统一接口
-
提高系统的可维护性
-
-
代码:
/**
* 封装的核心:私有 private
*
*/
public class Student {
//封装:大多数是对属性进行封装的,对方法不需要封装
//属性私有
private String name;//姓名
private int number;//学号
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;
}
//快捷键:alt +insert
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
//逻辑判断
public void setAge(int age) {
if(age>120 || age <0){
this.age=3;//注意,要用的成员变量
}else {
this.age = age;
}
}
}
/*
public static void main(String[] args) {
Student s1=new Student();
s1.setName("haha");
System.out.println(s1.getName());
System.out.println("-----------------");
s1.setAge(999);//不合法、所以set方法中,可以做一些逻辑判断
System.out.println(s1.getAge());
}
*/
-
分类:
01-JavaSE
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律