草庐IT

Getter-Setter

全部标签

php - 我应该还是不应该使用 getter 和 setter 方法?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭9年前。Improvethisquestion好的,这真的让我很烦恼,我开始认为这一切都归结为个人选择,而不是更高效或编写更好代码的特定方式:我应该还是不应该在内部使用getter/setter方法一个PHP项目?到目前为止,我读过的答案相当矛盾,并不完全适合PHP,它不是一种编译语言。例如,在StackOverflow上回答这个问题(“Whyusegettersandsetters?”)。关于为什么我应该在我的代码中使用它们有很多很

php - 我应该还是不应该使用 getter 和 setter 方法?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭9年前。Improvethisquestion好的,这真的让我很烦恼,我开始认为这一切都归结为个人选择,而不是更高效或编写更好代码的特定方式:我应该还是不应该在内部使用getter/setter方法一个PHP项目?到目前为止,我读过的答案相当矛盾,并不完全适合PHP,它不是一种编译语言。例如,在StackOverflow上回答这个问题(“Whyusegettersandsetters?”)。关于为什么我应该在我的代码中使用它们有很多很

android - 如何在 Android Studio 的 Alt-Insert getter/setter 中设置要删除的前缀(例如 "m")?

我让我的大多数成员变量以字母“m”开头,例如mId或mIsSomething。当我使用键盘快捷键添加getter/setter时,我最终得到:publicvoidsetmId(){}但我想要:publicvoidgetId(){}如何在创建getter/setter时为其设置要移除的前缀? 最佳答案 我找到了解决办法:转到文件->其他设置->默认设置在搜索框中,输入“前缀”。在右侧,选择“代码生成”选项卡。在“前缀”框中,输入m(或任何前缀) 关于android-如何在AndroidSt

android - 如何在 Android Studio 的 Alt-Insert getter/setter 中设置要删除的前缀(例如 "m")?

我让我的大多数成员变量以字母“m”开头,例如mId或mIsSomething。当我使用键盘快捷键添加getter/setter时,我最终得到:publicvoidsetmId(){}但我想要:publicvoidgetId(){}如何在创建getter/setter时为其设置要移除的前缀? 最佳答案 我找到了解决办法:转到文件->其他设置->默认设置在搜索框中,输入“前缀”。在右侧,选择“代码生成”选项卡。在“前缀”框中,输入m(或任何前缀) 关于android-如何在AndroidSt

c++ - 让所有 setter 函数返回对 c++ 中对象的引用是否很好?

让所有的setter函数都返回对c++中对象的引用好吗? 最佳答案 如果需要在对象上设置很多东西,这是一个足够可用的模式。classFoo{intx,y,z;public:Foo&SetX(intx_){x=x_;return*this;}Foo&SetY(inty_){y=y_;return*this;}Foo&SetZ(intz_){z=z_;return*this;}};intmain(){Foofoo;foo.SetX(1).SetY(2).SetZ(3);}这个模式替换了一个需要三个整数的构造函数:intmain(){Fo

c++ - 让所有 setter 函数返回对 c++ 中对象的引用是否很好?

让所有的setter函数都返回对c++中对象的引用好吗? 最佳答案 如果需要在对象上设置很多东西,这是一个足够可用的模式。classFoo{intx,y,z;public:Foo&SetX(intx_){x=x_;return*this;}Foo&SetY(inty_){y=y_;return*this;}Foo&SetZ(intz_){z=z_;return*this;}};intmain(){Foofoo;foo.SetX(1).SetY(2).SetZ(3);}这个模式替换了一个需要三个整数的构造函数:intmain(){Fo

c++ - 为什么人们要编写返回非常量引用的私有(private)字段 getter?

我们都同意公共(public)变量不利于封装等等。但是,我注意到很多代码都在做这种事情:classfoo{private:intinteger_;stringsomeString_;//othervariablespublic:int&integer(){returninteger_;}string&someString(){returnsomeString_;}//other"functions"}intmain(){foof;f.integer()=10;f.someString()="something";return0;}我已经看到很多地方都在使用它,但我不明白为什么。基本上,

c++ - 为什么人们要编写返回非常量引用的私有(private)字段 getter?

我们都同意公共(public)变量不利于封装等等。但是,我注意到很多代码都在做这种事情:classfoo{private:intinteger_;stringsomeString_;//othervariablespublic:int&integer(){returninteger_;}string&someString(){returnsomeString_;}//other"functions"}intmain(){foof;f.integer()=10;f.someString()="something";return0;}我已经看到很多地方都在使用它,但我不明白为什么。基本上,

c++ - 如何正确 "perfect forward"getter 函数?

我正在为C++14创建一个JSON库,并且尽可能使用move语义。我的Value类有几个setter和getter,它们总是尽可能地尝试move:templatevoidsetObj(T&&x){type=Obj;hObj.init(forward(x));}templatevoidsetArr(T&&x){type=Arr;hArr.init(forward(x));}templatevoidsetStr(T&&x){type=Str;hStr.init(forward(x));}auto&getObj()&noexcept{assert(is());returnhObj;}auto

c++ - 如何正确 "perfect forward"getter 函数?

我正在为C++14创建一个JSON库,并且尽可能使用move语义。我的Value类有几个setter和getter,它们总是尽可能地尝试move:templatevoidsetObj(T&&x){type=Obj;hObj.init(forward(x));}templatevoidsetArr(T&&x){type=Arr;hArr.init(forward(x));}templatevoidsetStr(T&&x){type=Str;hStr.init(forward(x));}auto&getObj()&noexcept{assert(is());returnhObj;}auto