0

このような単純化されたクラスがあります。

public class Bookmark
{
    public string Nav     { get; set; }
    public string Scroll  { get; set; }
    public string Comment { get; set; }

    public string guid()
    {
        return guid_static(this.Nav, this.Scroll);
    }

    public static string guid_static(string nav, string scroll)
    {
        // some complex equations on nav & scroll
        return result;
    }
    ...
}

クラスの外から、両方の (インスタンスと静的) メソッドを起動する必要があります。まず、既存のブックマークの GUID を取得します。2 番目 - ブックマークではない特定の「位置」(nav & scroll 値) の GUID を生成し (インスタンスはありません)、別の GUID と比較します。

OOPの概念に関して、これら2つの方法は問題ありませんか? それとも、唯一の guid() メソッドで「Position」のような新しいクラスを導入する必要がありますか? 「公式の」オブジェクト指向の回避策はありませんか? (クラスの数を増やしたくないだけです)

PS よろしければ、ツイン化された静的メソッドとインスタンス メソッドの命名規則は何ですか?

4

1 に答える 1

1

必要に応じて、実際に両方に「guid」という名前を付けることができます。メソッドのシグネチャが異なるため、ほとんどの言語は guid() と guid(nav, scroll) の呼び出しの違いを自動的に認識します。それ以外の場合は、現在コーディングしている方法で問題ありません。

于 2012-06-19T19:44:42.167 に答える