Java SE 面向对象之封装
2017-03-01 17:40
211 查看
封装概念:利用访问权限保护内部变量安全性,隐藏内部具体实现细节,并提供外部访问内部成员变量的接口,达到数据隐藏目的,避免了数据不良篡改。
我们学校不收不男不女的学生
从输出结果可以看到在方法中添加的控制很好的保护了数据的安全性与合理性,需求变更仅需修改一处其他调用方法都会实现。
从输出结果可以看到通过对外方法Getter可以获取到私有的内部成员信息。
总结:封装保护内部成员的安全性,降低代码的耦合性,更好的隐藏内部实现细节。
public class Student { private String name; private String sex; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { if(("男".equals(sex)||"女".equals(sex))){ this .sex = sex; }else{ //我们学校不收不男不女的学生 } } public int getAge() { return age; } public void setAge(int age) { if(age > 140){ //真的有活到140岁的人么.. }else{ this.age = age; } } }上述代码即封装了一个学生类,成员变量声明为私有只可通过Getter与Setter方法来访问。
public static void main(String[] args){ Student student = new Student(); student.setAge(200); student.setSex("雌"); }输出结果:真的有活到140岁的人么..
我们学校不收不男不女的学生
从输出结果可以看到在方法中添加的控制很好的保护了数据的安全性与合理性,需求变更仅需修改一处其他调用方法都会实现。
public static void main(String[] args){ Student student = new Student(); student.setName("韩蕾蕾"); student.setSex("女"); student.setAge(16); System.out.println("姓名:"+student.getName()+" 性别:"+student.getSex()+" 今年芳龄"+student.getAge()+"还是闺中一朵花!"); }输出结果:姓名:韩蕾蕾 性别:女 今年芳龄16还是闺中一朵花!
从输出结果可以看到通过对外方法Getter可以获取到私有的内部成员信息。
总结:封装保护内部成员的安全性,降低代码的耦合性,更好的隐藏内部实现细节。
相关文章推荐
- Java SE 第十讲(面向对象之封装) 续
- 圣思源-张龙-Java SE 第十一讲(面向对象之封装) 续二
- Java SE 第十一讲(面向对象之封装) 续二
- Java Se----面向对象(封装、继承)
- 圣思园java se培训总结(10-16)面向对象封装
- Java SE 第十讲(面向对象之封装) 续
- Java SE 第九讲(面向对象之封装)
- Java SE 第十一讲(面向对象之封装) 续二
- 圣思源-张龙-Java SE 第九讲(面向对象之封装)
- Java SE 第九讲(面向对象之封装)
- 圣思源-张龙-Java SE 第十讲(面向对象之封装) 续
- c++中面向对象的三个特征多态、封装、继承
- Python-老男孩-02_装饰器_面向对象_封装_继承_异常_接口_数据库
- 面向对象的封装、继承与多态
- java 面向对象 — 封装
- 2、C#面向对象:封装、继承、多态、String、集合、文件(上)
- 面向对象——Java的封装、继承和多态
- 面向对象的三大特征(封装、继承、多态)
- 黑马程序员-java面向对象的概念及封装总结
- C# 面向对象:封装、继承、多态