美文网首页
关于面向对象数据成员访问方式

关于面向对象数据成员访问方式

作者: _gentle | 来源:发表于2018-07-29 16:59 被阅读0次

今天写Android作业的时候,碰到了一个小问题,让我对面向对象中数据成员访问方式的设计有了更深入一步的理解。
这个问题是这样的:我需要在MainActivity里面频繁的创建一些AlertDialog,每次创建都需要写一堆重复的代码设置这些Dialog的界面和事件等。于是我自然而然的想到将这些代码剖离出来,建立一个DlgFactory类,需要的时候调用这个类的方法创建这些对话框。问题在于这些对话框都有一个特点:他们都是为了维护MainActivity的数据而创建的。也就是说,DlgFactory的方法需要访问MainActivity的数据。如果是C++,我可以简单的用友元来解决。但java是没有友元这一设计的。由于把数据成员声明为public的做法饱受批评,因此就只能采取为MainActivity编写方法提供给DlgFactory使用这一方案来解决。编写这些方法的时候我又想到,其实通过编写方法的方式访问数据也是有好处的:因为这样一个数据成员外部访问的方式就非常有限了,出了问题也更容易发现

相关文章

  • 关于面向对象数据成员访问方式

    今天写Android作业的时候,碰到了一个小问题,让我对面向对象中数据成员访问方式的设计有了更深入一步的理解。这个...

  • 1.2.03_C++ 类访问修饰符

    C++ 类 & 对象 数据封装是面向对象编程的一个重要特点,它防止函数直接访问类类型的内部成员。 类成员的访问限制...

  • C++的const类成员函数

    小结: const成员函数可以访问非const对象的非const数据成员、const数据成员,也可以访问const...

  • 面向对象和设计模式

    理解面向对象编程 面向对象的世界引入了对象的概念,而这些对象又具有属性(数据成员)和方法(成员函数)。方法的作用就...

  • 编程语言-java-重要概念

    1、面向对象封装:核心思想就是“隐藏细节”、“数据安全”,将对象不需要让外界访问的成员变量和方法私有化,只提供符合...

  • PHP面向对象(二)

    6.特殊的引用”$this“的使用 我们知道了如何访问对象中的成员,是通过”对象->成员”的方式访问的,这是在对象...

  • c++ 面向对象基础知识

    面向对象 访问控制与封装 定义在public说明符之后的成员可在整个程序内被访问。 定义在private之后的成员...

  • C++基础2020-11-09

    C++ 类 & 对象 关键字 public 确定了类成员的访问属性 类的对象的公共数据成员可以使用直接成员访问运算...

  • Python-学习之路-08 OOP -01

    OOP 面向对象 面向对象的特性封装封装就是对对象的成员进行访问限制封装的三个级别公开:public受保护的: p...

  • 《重构》学习笔记(06)-- 重新组织数据

    在面向对象的语言中,通常会有直接访问数据还是通过方法访问数据的争论。同时,面向对象的语言也允许使用自己定义的新类型...

网友评论

      本文标题:关于面向对象数据成员访问方式

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