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,以便与另一个 guid 进行比较。

就 OOP 概念而言,这两种方法可以吗?或者我必须用唯一的 guid() 方法引入一个像“Position”这样的新类?没有“官方”的面向对象的解决方法吗?(我只是不想增加班级数量)

PS如果可以,孪生静态和实例方法的命名约定是什么?

4

1 回答 1

1

如果您愿意,您实际上可以将它们都命名为“guid”。大多数语言会自动知道您调用 guid() 与 guid(nav, scroll) 之间的区别,因为方法签名不同。您当前对其进行编码的方式很好。

于 2012-06-19T19:44:42.167 回答