zoukankan      html  css  js  c++  java
  • java面向对象之 封装 Encapsulation

    什么是封装:对象中的成员该隐藏的隐藏、该公开的要公开

    封装:顾名思义,隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。

    封装的目的

    增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过 外部接口,一特定的访问权限来使用类的成员。 

    封装的大致原则:

    1、把尽可能多的东西藏起来.对外提供简捷的接口. 

    2、把所有的属性藏起来. 

    3、封装好处:将变化隔离;便于使用;提高重用性;安全性。

    访问控制修饰符Modifiers

    可以修饰:属性、方法、构造方法、类

     public     protected     默认不写   private

     公开的      受保护的                     私有的

    从上到下:作用范围递减

    修饰符作用范围   本类      同包     子类    其它

    public                 OK       OK       OK       OK

    protecetd        OK       OK       OK

     默认不写             OK       OK

    private               OK

    1、属性的封装

    (1)属性私有   private修饰  本类内部可见,保证对象数据的安全

    (2)提供getter、setter方法来读取或改写属性值

    2、方法的封装

    常用public、protecetd、private来修饰方法,具备不同的可见性。

    public:  任何作用域都可见

    protecetd: 常用于父类需要继承给子类的方法

    private:  只有本类内部可以使用

    public和private有何区别?  (BS  MS)

    来自于项目中的经验和总结:

    1)public修饰的方法才算作工作量。

    2)public修饰的方法需要增加后期的维护成本。

    3、构造方法的封装

    构造方法一般使用public修饰:外界可以直接new对象,会间接调用其构造方法

    public Animal(){}

    如果构造方法使用private修饰:外界就不能new对象

    private Animal(){}

  • 相关阅读:
    Python学习笔记(四)多进程的使用
    Python学习笔记(三)多线程的使用
    windows无法安装msi文件
    标签传播算法
    信息论基础
    模块度Q
    HTTPS开发(SSL--用Tomcat服务器配置https双向认证)
    oracle 优化
    eclipse 界面开发--windowbuilder
    vba 读取数据库
  • 原文地址:https://www.cnblogs.com/blueskylcc/p/6039060.html
Copyright © 2011-2022 走看看