2015-02-12 68 views
0

我有一個我需要寬鬆模擬的API,因爲我擴展它(所以沒有改變的約定),我不得不做的一件事是提供setter/getter像訪問一些私人成員使用單名方法實施一次設置,一次通過簽名更改。同名的Getter/Setter

它看起來是這樣的

class MyClass{ 
    float m_t1; 
    float m_t2; 

public: 
    const float t1(); 
    const float t2(); 

    void t1(float); 
    void t2(float); 
}; 


MyClass::MyClass(){ 
    m_t1 = 0.0; 
    m_t2 = 0.0; 
} 


const float MyClass::t1(){ 
    return m_t1; 
} 

const float MyClass::t2(){ 
    return m_t2; 
} 

void MyClass::t1(float t_val){ 
    m_t1 = t_val; 
} 

void MyClass::t2(float t_val){ 
    m_t2 = t_val; 
} 

我的問題是,有沒有名字呢?也許作爲一種模式或其他東西。

雖然不是我的第一選擇,如果我是從頭開始做的事情,我不一定介意它,但任何指針,我可以閱讀有關它(警告,建議,do和dont的,如果它實際上是一件事情)將不勝感激,以防萬一它是一個模式與惡劣的意外下線(在情況下有點複雜,只是拋出兩個浮動四周)。

如果有人想分享他們的想法當然這是一個獎金,但我會很高興與進一步閱讀的鏈接。

+0

就像「切換?」的功能一樣。再次稱它爲真,並且它的假。 – 2015-02-12 04:36:17

+0

我相信大多數人只是稱之爲超載。有些語言內置了這種語言,例如C#調用這個屬性。 – Matthew 2015-02-12 04:36:28

+0

就我個人而言,我不是超載風格的狂熱粉絲,但這是個人偏好。 – 2015-02-12 04:40:46

回答

2

我相信這是Objective-C的setter/getter風格。例如,請參閱thisthis

只要您熟悉C++的重載,重載方法就毫不意外。如果沒有,那麼我建議閱讀更多關於超載的內容。

個人而言,由於我來自Java背景,我喜歡setVariable和getVariable名稱。但是,這又完全是個人的。