草庐IT

Getters-Setter

全部标签

Vuex中state(状态)、mutations(更改状态) actions(异步操作)、getters(计算属性)、modules(模块)使用详解!

vuex是采用集中式管理组件依赖的共享数据的一个工具,可以解决不同组件数据共享的问题。state存放数据的mutaitions中不能去做异步的操作的。做数据修改的,目的是形成数据快照数据快照是一次mutation的执行,立刻得到一种视图状态,因为是立刻,所以必须是同步actions中放异步的操作比如说axios请求。getters(计算属性)存放一些数据操作的更改modules模块化组件调用action执行一部操作将数据提交给mutaitions进行修改。三种方法获取存储的数据1.直接在需要调用的地方使用$store.stare.属性名2.在计算属性中使用​计算属性count值为{{count

实现文件中的 C++ Getters-Setter

我是C++的新手,我认为通过示例可以最好地理解我的问题。在我的头文件中,假设我有classmyClass{public:doublegetVar1();voidsetVar1(doublenewVar1);voidcopyVar1(myClass*dat);private:doublevar1;};在我的实现.cc文件中,实现copyVar1方法时,应该怎么做voidmyClass::copyVar1(myClass*dat){var1=dat->var1;}或voidmyClass::copyVar1(myClass*dat){var1=dat->getVar1();}在第二种情况下

c++ - C++ 中的 Setter 和 getter

来自Java,我习惯这样做:voidsetColor(Stringcolor){this.color=color;}但是,我最近切换到C++,我看到了很多这样的东西:voidsetColor(stringc){color=c;}为什么不是这个?这是不推荐的吗?voidsetColor(stringcolor){this->color=color;} 最佳答案 完全一样。在Java中,如果您将参数命名为c而不是color,则不会有任何阴影,您可以轻松编写voidsetColor(Stringc){color=c;}Java(或C++)

c++ - ctors 和 setter 参数的命名约定

对于那些没有像m_foo或foo_这样的特殊符号命名成员变量的人,您如何为您的ctors和setter命名参数?到目前为止我尝试过的一些选项...Obj(intfoo):foo(foo){}voidset_foo(intfoo){this->foo=foo;}Obj(int_foo):foo(_foo){}voidset_foo(int_foo){foo=_foo;}Obj(inta_foo):foo(a_foo){}//afor"argument"voidset_foo(inta_foo){foo=a_foo;}Obj(intinit_foo):foo(init_foo){}void

c++ - 这是一种设计模式——从 setter 返回这个吗?

这个有名字吗:classA{A*setA(){//setareturnthis;}A*setB(){//setbreturnthis;}};所以你可以这样做:A*a=newA;a->setA()->setB();使用这个有什么缺点吗?优势? 最佳答案 它被称为方法链(FAQlink),并且更常见于引用,而不是指针。方法链接与命名参数习语(FAQlink)密切相关,正如我现在发布此答案的初始版本后,看到SteveJessopdiscussesinhisanswer.NPI惯用语是一种提供大量默认参数的简单方法,而不会将复杂性强加到构造

c++ - 哪个更合适 : getters and setters or functions?

如果替代函数名称使API更明显,是否应该放弃getter和setter的“getMyValue()”和“setMyValue()”模式?例如,假设我在C++中有这个类:publicclassSomeClass{private:boolmIsVisible;public:voiddraw();voiderase();}我可以像这样添加函数来获取/设置“mIsVisible”:boolgetVisible(){returnmIsVisible;};voidsetVisible(boolvisible){if(!mIsVisible&&visible){draw();}elseif(mIsV

c++ - setter 和 getter 的模板

我不熟悉模板,但我想知道是否可以将它们用于setter和getter方法。例如在这种情况下:doubleexmlClass::getA(void)const{returna_;}voidexmlClass::setA(constdouble&a){a_=a;}doubleexmlClass::getB(void)const{returnb_;}如您所见,方法几乎相同,只是它们引用了另一个私有(private)变量(a_、b_、c_)。有没有更优雅的方法来编写这些函数,或者在这种情况下像上面那样做是常见的做法?如果模板的使用很普遍,我将不胜感激您将如何在上面的代码中使用它们的示例。我要问

c++ - 在一个简单的 Point 类中,是否有任何关于 getters/setters 而不是公共(public)成员变量的真正论据?

我有两个用于处理3d几何Point和Vector的简单类。它们都有3个坐标作为公共(public)成员变量,并定义了一些运算符,如+、-、*...。classPoint{public:doublex,y,z;//ctorandsomeoperators}classVector{public:doublex,y,z;//ctorandsomeoperators}是否有反对将坐标公开的真正理由?我永远不会将double更改为任何其他类型。我不想将x,y,z的值限制在一个特殊范围内,我也不想在设置坐标时检查任何内容。这些类位于库中,其他项目将使用该库。更新:对我来说,setters/gett

java - 使用 getter 和 setter 的私有(private)属性有什么好处?

这个问题在这里已经有了答案:Whyusegettersandsetters/accessors?(37个答案)关闭9年前。在面向对象编程中,我曾经有过这个问题,现在仍然有这个问题:Whatwouldbethebenefitofdeclaringaclassmemberasprivateifwewillcreateforitapublicgetterandapublicsetter?我没有发现上述情况与将类成员声明为公共(public)的情况在安全级别上有任何区别。谢谢!

c++ - 将set函数(setter)标记为constexpr的目的是什么?

这个问题在这里已经有了答案:Whatistheuseofaconstexpronanon-constmemberfunction?(2个答案)关闭3年前。我无法理解将setter函数标记为constexpr的目的,这是自C++14以来允许的。我的误解来自下一种情况:我声明了一个带有constexprc-tor的类,我准备在constexpr上下文中使用它,方法是创建该类constexprPointp1的constexpr实例。对象p1现在是常量,它的值无法更改,因此无法调用constexprsetter。另一方面,当我在非constexpr上下文Pointp中创建classPoint的