zoukankan      html  css  js  c++  java
  • 条款22:将成员变量声明为private

    为什么要将成员变量声明为private?

    角度一:语法一致性

    将所有成员变量都声明private,剩下的成员就是成员函数了。那么外部访问时都得要带括号,因为只可以访问成员函数。

    角度二:使用函数可以让你对成员变量的处理有更精确的控制(访问控制角度)。

    如果令成员变量为public,每个人都可以读写它,但是如果你以函数取得或设定其值,你就可以实现出“不可访问”、“只读访问”、“读写访问”。

    角度三:封装性

    • 将成员变量隐藏在函数接口的背后,可以为“所有可能的实现” 提供弹性 。这使得成员变量被读、被写时,可以轻松的通知其他对象、可以验证class的约束条件以及函数的前提和事后状态、可以在多线程中执行同步控制…等等。

    • 可以确保calss的约束条件得以维护

    • 保留日后变更实现的权利(public意味着不封装,不封装几乎意味着不能变更实现,因为它会破坏大量的客户代码。尤其是对被大量使用的classes 而言更是如此。需要重新写客户代码,重新测试、重新编写文档、从新编译)

    protected 和public其实是一样的,无论从一致性、访问控制、封装性三点,和public是一样的。protected虽然提供了一点封装性,但是不能够有上述保证,因此封装性和public也没啥区别。实际上,封装性只有两种,private (提供封装),和其它(public或者protected等,不提供封装).

  • 相关阅读:
    Linux命令--2
    Linux命令--1
    登陆网页模板
    前端笔记 (2.CSS)
    前端笔记 (1.HTML)
    linux 在执行命令过程中,反单引号(`)这个符号代表的意义为何?
    linux 变量
    Linux文件系统中的inode节点详细介绍
    【Ctrl】 + 【Alt】 + 【F1~F6】 和 【Ctrl】 + 【Alt】 + 【T】打开的终端有什么不同?
    快速建站教程
  • 原文地址:https://www.cnblogs.com/lasnitch/p/12764173.html
Copyright © 2011-2022 走看看