做网站建设需要什么工具,淮安建设银行招聘网站,百度右边相关网站,怎么做网站登录界面面向对象三大特征#xff1a;封装、继承、多态 什麽是封装#xff1f;
就是用类设计对象处理某一个事务的数据时#xff0c;应该把要处理的数据#xff0c;以及处理这些数据的方法#xff0c;设计到一个对象中去 用通俗一点的话来说就是设计对象时应该把要使用到…面向对象三大特征封装、继承、多态 什麽是封装
就是用类设计对象处理某一个事务的数据时应该把要处理的数据以及处理这些数据的方法设计到一个对象中去 用通俗一点的话来说就是设计对象时应该把要使用到的数据和使用这些数据的方法都写到对象中比如 public class Dog {String name; //名字String kind; //品种public void bark(){ //发出叫声方法System.out.println(kind name 在汪汪叫);}
} 比如我们要使用发出叫声方法需要使用到name和kind成员变量所以我们应该把它们都放到Dog类中 显然平常写类都是这麽写的那么封装性还有什麽值得注意的点呢当然有那就是↓ 封装的设计规范
在我们平常设计类的时候其实是有 一个封装的设计规范的其核心思想为下面八个字
合理隐藏合理暴露
那么什麽是合理隐藏、合理暴露呢? 我们平常在设计类对象时一般是会有多个成员变量和多个成员方法的对于这些成员一个好的对象设计应该是合理安全的暴露而对于那些不该暴露的我们应该统统隐藏起来 举个比喻计算机 我们知道计算机是由软件和硬件组成的而在硬件和软件中其实暴露给我们的都只是一部分比如我们平常要使用的外设键盘鼠标开机按钮之类像存储器、处理器这些都是集成在主板上用铁皮盒子机箱包起来的
我们在设计类时也应该是这样的不应该随便把类的成员变量全部暴露给别人这样既不安全也徒增烦恼
举个栗子有一个学生类长这样
public class Student {double score;public void result(){System.out.println(this.score 60 ? 及格 : 不及格);}
}
那么在这个类中score成员变量应该暴露还是隐藏呢?
明显我们是要使用score类所以是要给它赋值的应该暴露但是出于防止有人乱赋不合法的值我们又应该隐藏那我们到底应该怎么办呢?
怎麽才能做到可以赋值又防止瞎赋值呢
其实很简单我们首先把这个变量隐藏然后设计公开的方法去赋值和获得它就好了如果要想控制不让随便赋值就在对应方法里面加限制语句就ok了
比如
public class Student {private double Score;public void setScore(double score){if(score 0 score 120)this.Score score;elseSystem.out.println(请输入正确的分数);}public double getScore(){return this.Score;}public void result(){System.out.println(this.Score 60 ? 及格 : 不及格);}
}
然后再去赋值就不用怕乱赋值了在保护数据的同时不影响赋值取值
public class Test {public static void main(String[] args) {Student s new Student();s.setScore(100);System.out.println(s.getScore());s.result();}
} 怎样做到合理隐藏合理暴露
一句话总结将所有的成员变量隐藏起来然后设计对应的赋值取值方法暴露给外界访问这样就可以做到合理隐藏合理暴露
那关于方法的隐藏和暴露呢
也很简单只需要看方法需不需要供外界使用需要的话就公开不需要的话就隐藏像上面的result方法显然就是需要供外界访问的所以应该设置为公开