当前位置: 首页 > news >正文

推荐微网站建设wordpress 加上广告

推荐微网站建设,wordpress 加上广告,网站宣传文案有哪些,网站建设什么公司好一、主要观点: 在某些情况下,使用 non-member、non-friend 函数来替换 member 函数可以增强封装性和可扩展性,提供更好的软件设计。 二、详细解释: 封装性: 类成员函数的封装性考量:成员函数可以访问类的…

一、主要观点

  • 在某些情况下,使用 non-membernon-friend 函数来替换 member 函数可以增强封装性和可扩展性,提供更好的软件设计。

二、详细解释

  1. 封装性

    • 类成员函数的封装性考量:成员函数可以访问类的 private 成员,这在一定程度上破坏了封装性。因为它拥有比实际所需更多的对类内部的访问权限。例如,对于一个类 Widget 的成员函数,它可以访问类的所有 private 数据成员和函数,即使某些数据或函数并不需要被该成员函数操作。
    • non-member、non-friend 函数的优势non-membernon-friend 函数只能通过类的 public 接口来访问类,这意味着它们不能直接访问类的 private 成员。这种方式可以将类的内部实现细节更好地隐藏起来,增强封装性。例如,对于一个处理 Widget 类对象的 non-membernon-friend 函数,它只能通过 Widget 类的 public 接口进行操作,不能访问 Widget 类内部的 private 成员,这样类的内部实现可以更加自由地修改而不影响这个外部函数。
  2. 可扩展性

    • 对类功能的扩展更灵活使用 non-membernon-friend 函数可以将不同的功能分布在不同的函数中,而不是将所有功能都集中在类的成员函数里。这样,当需要对类的功能进行扩展时,可以方便地添加新的 non-membernon-friend 函数,而不需要修改类的内部实现。
    • 命名空间的使用可以将相关的 non-membernon-friend 函数放在一个命名空间中,形成一个功能集合。这样可以更好地组织代码,并且可以根据不同的功能模块将函数分类到不同的命名空间中,方便代码的管理和维护。例如:
     
    namespace WidgetStuff {class Widget {... };void doSomething(Widget& w);void doAnotherThing(Widget& w);
    }
    
     

    这里,doSomething 和 doAnotherThing 是 non-membernon-friend 函数,它们通过 Widget 的 public 接口操作 Widget 类,当需要添加新的操作 Widget 的函数时,只需在 WidgetStuff 命名空间中添加即可,而不用修改 Widget 类。

  3. 编译依赖关系

    • 减少依赖member 函数的修改通常会导致类的重新编译,因为它是类定义的一部分。而 non-membernon-friend 函数的修改通常只需要重新编译该函数本身,减少了对类的依赖。这在大型项目中可以提高编译速度。
    • 降低耦合non-membernon-friend 函数与类的耦合度相对较低,使得类的接口更加稳定,避免因修改函数而影响类的内部实现和其他使用该类的代码。
  4. 示例说明

    • 考虑一个表示网页浏览器的类 WebBrowser,可能有清除缓存、清除历史记录、清除 Cookies 等操作。可以有两种实现方式:
     
    class WebBrowser {
    public:void clearCache();void clearHistory();void clearCookies();void clearEverything() {  // member functionclearCache();clearHistory();clearCookies();}
    };
    
     

    或者使用 non-membernon-friend 函数:

    class WebBrowser {
    public:void clearCache();void clearHistory();void clearCookies();
    };void clearEverything(WebBrowser& wb) {  // non-member, non-friend functionwb.clearCache();wb.clearHistory();wb.clearCookies();
    }
    
     

    在这个例子中,使用 non-membernon-friend 函数 clearEverything 可以将清除操作的功能与 WebBrowser 类分离,避免 WebBrowser 类变得臃肿,同时也不会增加 WebBrowser 类的封装性负担,因为 clearEverything 函数无法访问 WebBrowser 类的 private 成员。

三、总结

  • 为了实现更好的封装性、可扩展性、降低编译依赖和降低耦合度,在某些情况下,应该优先考虑使用 non-membernon-friend 函数而不是 member 函数。这有助于将类的功能分离,提高代码的可维护性和组织性,同时使类的内部实现更加独立和灵活。
http://www.yayakq.cn/news/494775/

相关文章:

  • 本地的丹阳网站建设深圳手机端网站建设设计公司
  • 昆明网站建设推荐wordpress临时关闭站点
  • 微网站可以自己做吗宁波市住宅建设集团网站
  • 扬中网站建设案例wordpress 多条件查询数据库
  • app软件开发就是网站开发吗天商阳光网站邮箱
  • 龙华做企业网站wordpress 应用店商
  • 北京怀柔网站制作医疗网站设计网站
  • 青岛做公司网站的多吗广州网站建设价格
  • php做网站python做什么网站商场模板
  • 专做ppt的网站wordpress 3.9
  • 二级网站怎样做排名视频建设网站
  • 网站内怎样做关键词有效果凯里网站设计公司
  • 网站备案ps258做网站怎么样
  • 用js做网站登录wordpress获得当前文章的相关文章
  • 网站权重如何提高阿里云服务器可以做彩票网站吗
  • 揭阳响应式网站价格百度云资源搜索
  • 传奇怎么做充值网站山西网站建设营销什么价格
  • 网站开发市场前景seo网站建站公司的主页
  • 建设银行流水网站好看的美食怎么做视频网站
  • wordpress淘宝客建站教程wordpress的链接
  • 石排镇仿做网站做网站用的浏览器有哪些
  • 电商网站的费用怎么做帐微信小程序商城软件开发
  • 用Python做网站如何配置域名倒计时网站模板
  • 荆州市住房和城乡建设厅官方网站网站关键词排名不稳定
  • 企业网站手机版模板没有网站备案可以做诚信认证嘛
  • 东莞网站建设 石化白银网站seo
  • 网站建设怎么入账龙岩网站制作设计
  • 河北邯郸封闭最新消息西安官网seo分析
  • 指定关键字 网站有更新就提醒wordpress后台登陆界面
  • 学校网站建设的软件环境张家港建设网站