• JAVA-初步认识-第六章-封装思想


    一.

    我们仔细看这个封装的定义,隐藏对象的属性我们是了解的,隐藏实现细节是指将操作放置在方法中么?接着后面一句,提供公共访问方式。如果我们没有成员变量,更不要说隐藏成员变量了,而是直接在方法中书写变量行不行呢?按道理来说,在调用时,一样是可以输出的,但是意义好像变了。

    把age隐藏了,对外提供公共的访问方式,第一可以提高安全性,第二

    属性往往是定义数据,存储数据用的。对外提供方法的目的,就是对属性进行可控。

    实际生活中的机箱,就是封装性的体现,首先可以提高安全性,接着提高了复用性(每次需要主板的时候,不要去找主板,只要启动主机即可)。机箱里也可以隔离变化。

    凡是对象,都具备隐藏和提供公共访问方式,这是对象的特征。

    方法都需要对外提供么?

    看上面的截图,之前讨论的排序方法中,里面有一个调换位置的方法,它是专门为排序服务的。这个方法不需要对外提供。可以改成下面的形式。凡是不需要对外提供的,都可以隐藏起来。

    private私有修饰符,它是一个权限修饰符,只能修饰成员,不能修饰局部。私有的内容只在本类中有效。

    封装和私有不能画等号。私有是封装,但反过来不是。

    不私有一样能完成封装,封装是一个非常大的概念,是面向对象的一个特征,叫做隐藏细节。但是隐藏细节不代表只有私有,不私有一样能隐藏。只要能做到你访问不到,就已经完成隐藏了。

    java语言中最小的封装体就是函数。函数里面怎么实现的不用管,我们只需要知道函数的功能是什么,它的返回结果是什么,它需要什么未知内容就可以了。

    只要是内部隐藏起来的,都是封装

    注意大小写,方法名在定义的时候,从第二个单词的词首开始大写。

    set方法往往都是void返回值,而get的返回类型都和属性类型相同。

  • 相关阅读:
    s4-9 二层设备
    s4-9 二层设备
    s5-1 网络层引言
    LeetCode Factorial Trailing Zeroes (阶乘后缀零)
    UVA 658 It's not a Bug, it's a Feature! (最短路,经典)
    UVA 1151 Buy or Build (MST最小生成树,kruscal,变形)
    LeetCode Reverse Linked List (反置链表)
    LeetCode Contains Duplicate (判断重复元素)
    UVA 1395 Slim Span (最小生成树,MST,kruscal)
    割点,桥,边双连通分量,点双连通分量
  • 原文地址:https://www.cnblogs.com/wsw-bk/p/7643311.html
Copyright © 2020-2023  润新知