美文网首页
面向对象之封装

面向对象之封装

作者: Apple_Boy | 来源:发表于2019-07-07 20:49 被阅读0次

封装最主要的功能:

在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。

适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。

编程中封装的具体优点:

1.提高代码的安全性,隐藏信息、实现细节

2.提高代码的复用性

3.“高内聚”:封装细节,便于修改内部代码,提高可维护性

4.“低耦合”:简化外部调用,便于调用者使用,便于扩展和写作。

5.可以对成员变量进行更精确的控制

思想:封装时间类,json转换,分页类,积累起来后可以打包成一个属于自己的jar包


封装的理解:

比如将下面的age修改为String类型的呢?你只有一处使用了这个类还好,如果你有几十个甚至上百个这样地方,你是不是要改到崩溃。如果使用了封装,我们完全可以不需要做任何修改,只需要稍微改变下Husband类的setAge()方法即可

对应:在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。

public void setAge(int age) {

//转换即可

        this.age = String.valueOf(age);

    }

其他的地方依然那样引用(husband.setAge(22))保持不变。

到了这里我们确实可以看出,封装确实可以使我们容易地修改类的内部实现,而无需修改使用了该类的客户代码。

我们在看这个好处:可以对成员变量进行更精确的控制。

上面都是对setter方法的控制,其实通过使用封装我们也能够对对象的出口做出很好的控制。例如性别我们在数据库中一般都是已1、0方式来存储的,但是在前台我们又不能展示1、0,这里我们只需要在getter()方法里面做一些转换即可。

public String getSexName() {

        if("0".equals(sex)){

sexName = "女";

        }

        else if("1".equals(sex)){

sexName = "男";

        }

        else{

sexName = "人妖???";

        }

        return sexName;

    }

在使用的时候我们只需要使用sexName即可实现正确的性别显示。同理也可以用于针对不同的状态做出不同的操作。

public String getCzHTML(){

        if("1".equals(zt)){

czHTML = "启用</a>";

        }

        else{

czHTML = "禁用</a>";

        }

        return czHTML;

    }

相关文章

  • 面向对象之封装

    面向对象之封装 封装是面向对象最重要的特征之一,封装就是指隐藏。 对象隐藏了数据(例如priv...

  • Java之面向对象的特征

    面向对象的特征之封装性 举例

  • Java进阶 | 从整体上观察面向对象

    一、面向对象 面向对象是Java编程中最核心的思想,基本特征:继承、封装、多态。 1、特征之封装 将结构、数据、操...

  • Java进阶 | 从整体上观察面向对象

    一、面向对象 面向对象是Java编程中最核心的思想,基本特征:继承、封装、多态。 1、特征之封装 将结构、数据、操...

  • 那些年出现的作业

    Java面向对象之类的练习之模拟计算器 demo Java面向对象之类的练习之ArrayBox封装 demo

  • python 面向对象封装案例

    面向对象封装案例 目标 封装 小明爱跑步 存放家具 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 ...

  • 14.Python对象封装

    面向对象封装案例 目标 封装 小明爱跑步 存放家具 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 ...

  • 营销比赛二三事

    Python面向对象编程三大特性调研 Python面向对象之封装 在Python中,没有类似 private 之类...

  • 面试 | java基础

    面向对象 1、面向对象特征? 封装封装是面向对象的特征之一,是对象和类概念的主要特性。封装,也就是把客观事物封装成...

  • 面向对象之封装

    什么时候应该封装类 当项目中出现一些零散的、有关系的基本类型数据时,考虑通过类型将这些数据统一组织起来管理。定义一...

网友评论

      本文标题:面向对象之封装

      本文链接:https://www.haomeiwen.com/subject/yisehctx.html