私のソフトウェア開発プログラミングのクラスでは、RSS フィード用の「フィード マネージャー」タイプのプログラムを作成することになっていました。FeedItems の実装をどのように処理したかを次に示します。
素晴らしくシンプル:
struct FeedItem {
string title;
string description;
string url;
}
そのためにマークダウンしました。「正しい」回答例は次のとおりです。
class FeedItem
{
public:
FeedItem(string title, string description, string url);
inline string getTitle() const { return this->title; }
inline string getDescription() const { return this->description; }
inline string getURL() const { return this->url; }
inline void setTitle(string title) { this->title = title; }
inline void setDescription(string description){ this->description = description; }
inline void setURL(string url) { this->url = url; }
private:
string title;
string description;
string url;
};
私には、これはばかげているように思えます。正直なところ、これが私のものとまったく同じことをより多くのオーバーヘッドで行うとき、私がマークダウンしたとは信じられません。
C# で人々が常にこれを行う方法を思い出します。
public class Example
{
private int _myint;
public int MyInt
{
get
{
return this._myint;
}
set
{
this._myint = value;
}
}
}
私は彼らがそれを行う理由を取得することを意味します。おそらく、後でセッターでデータを検証するか、ゲッターでデータをインクリメントしたいと考えています。しかし、その状況が発生するまで、なぜあなたはこれをやらないのですか?
public class Example
{
public int MyInt;
}
申し訳ありませんが、これは一種の暴言であり、実際には質問ではありませんが、冗長性は私にとって腹立たしいです. ゲッターとセッターが必要ないのに、なぜそれほど愛されているのでしょうか?