encapsulation

    0热度

    4回答

    可能重复: Why use getters and setters? ,而写在C类++,通常的方法是公开的,和属性是由私人/公共的,所以这些属性不能从外部访问。 但是当我们使用getters/setters时,这些属性可以很容易地从外部访问,修改。那么,为什么要让他们私下/保护第一手;如果我们打算稍后使用setter/getters来修改。 我一直与这个问题混淆。很好的解释会有帮助。 谢谢。

    2热度

    3回答

    在我的游戏引擎中,我有一个代表游戏世界的状态类。该状态包含许多Body对象,每个对象都定义一个刚体。每个状态都有一个容器来跟踪它拥有的Body对象,并且每个Body都有一个指向其父状态的指针。 纲要州级: class State { private: std::set<Body*> _bodies; public: //It could be done here

    1热度

    3回答

    这是一个设计问题。该设计是伪代码,代表了一个小例子,但我可能会在未来添加更多的方法,数据,逻辑。 在这个例子中,我正在考虑两种方法。在下面的execute方法中,我应该使用execute方法的输出返回一个不可变的“data/bean/model”对象,或者更新BusinessLogic类的状态。 两个完成同样的目标,我想的执行,并且无论是数据应包含在一个bean容器或内部的BusinessLogi

    5热度

    3回答

    考虑下面的类 public class Class1 { public int A { get; set; } public int B { get; set; } public int GetComplexResult() { return A + B; } } 为了使用GetComplexResult,这个类的一个消费者必

    5热度

    4回答

    将DAO中的连接封装好,即让DAO创建或检索连接,然后关闭,或者更好地将连接传递到DAO并处理DAO外部代码中的细节? 后续操作:如果将连接封装在DAO中,如何管理关闭连接?

    0热度

    2回答

    我有一个关于使用typedef封装特定类型的快速问题。说我有一个类Foo其构造函数采用一定的价值,但我想用typedef隐藏特定类型: class Foo { public: typedef boost::shared_ptr< std::vector<int> > value_type; Foo(value_type val) : val_(val) {} private

    1热度

    2回答

    这里有两个班,一个父/子关系(从Unity3D拍摄) public class GameObject { ... public T AddComponent<T>() where T : Component; ... } public class Component { ... public GameObject gameObject {

    1热度

    1回答

    有人可以解释我如何创建带有嵌入式图像文件的“简单”电子邮件吗? 我知道有很多RFC可以解释它,但我并没有真正成功地做到这一点。 我必须以编程方式构建电子邮件的正文文本,而不使用任何框架。不要问我使用的语言... 图像是base64编码。 内容类型:多部分/相关; border =“boundary-example-1”; type = Text/HTML 如果在某些网站上我没有找到关于如何做到这一

    25热度

    3回答

    由我见过的各种模式相关的问题的启发...... Ownership chaining允许我授予对存储过程来执行不明确权限在我使用表,如果两个存储过程和表是在同一个模式。 如果我们使用单独的模式,那么我必须在不同模式表上明确地GRANT XXX。所有权链接示例表明。这意味着存储的proc执行用户可以直接读/写你的表。 这就像直接访问类中的实例变量,绕过getter/setters,破坏封装。 我们还

    4热度

    6回答

    我有一个类vector< A*>类型的私人数据成员。 类有实际使用vector<A*>::size_type两个公共方法: 方法返回数向量中的元素的 方法通过索引向量中的返回元件 我可以添加到该类的公共部分的typedef如下: typedef ve ctor :: size_type SIZE_t; 但恕我直言,它暴露了太多关于类实现的细节。 另一种方法是使用size_t。 您认为如何?