【问题标题】:correct way of using public methods使用公共方法的正确方法
【发布时间】:2015-12-17 04:15:32
【问题描述】:

使用公共函数/变量的正确方法是什么?我的意思是我应该创建一个包含所有公开内容的新课程吗?像PublicFunctionsAndVariables 类?

    namespace TestProgram
    {
        class PublicMethodsAndVariables
        {
            public int SomeVar;
            public float TimesPI(float number){
                float result;
                result = number*3.14159265359;
                return result;
            }
         }
}

我已经做了一个类,但不知道这是否是c#中的约定。以上只是我做的一个简单的例子。

我有一个 win 表单应用程序,在不同的表单中我需要使用一些相同的代码,比如过滤搜索结果的函数等。

提前致谢。

【问题讨论】:

  • 您可能应该阅读面向对象软件开发的概念。

标签: c# public-method


【解决方案1】:

一般概念是让您的变量、属性、方法……尽可能私有。只有那些需要从你的类外部访问的元素才应该被认为是公共的。但是如果你有太多的公共属性和方法,你可能做得不对(除非你正在创建一个帮助程序或实用程序类)。所以我建议你自己拿一本书开始阅读,Head Start C# 这本书真的很好理解。

【讨论】:

  • 感谢您提供的好信息,我看看能不能拿到那本书 :)
【解决方案2】:

如果您遵循实现面向对象设计的正确路径,您将不必为公共成员创建新类。您的所有课程自然会有 0 个或更多公共和私人成员。

您的应用程序中是否存在任何PublicFunctionsAndVariables 类型的对象?我很确定,不。这就像说这个特定的对象没有什么私有的。所有其他实体都可以访问该对象所拥有的一切。这完全偏离了“面向对象”设计的方向。面向对象的设计应该以定义实际的“对象”为导向。

您试图不定义,而是根据其隐私级别对一个类进行分类。相反,这些类是根据它们的实际作用来定义的。如果他们的某些行为是没有人需要知道的,他们将是私密的。与他们互动的任何其他人都应该知道他们的行为应该是公开的/受保护的。

【讨论】:

  • 感谢您的精彩输入。我开始观看 MVA 的一些视频,希望它能给我一个关于它的完成方式的线索,但我必须承认我发现 OOP 有点难以放入我的代码的上下文中。我可以用动物来理解它(女巫似乎经常是这些视频中的例子):)
  • @NicolaiSvendsen:这是我最喜欢的两个。如果你能掌握它们,你的知识将会有很大的飞跃。 1) lynda.com/Programming-tutorials/… 2) lynda.com/Developer-Programming-Foundations-tutorials/… 免责声明:我与 Lynda.com 没有任何关系。
  • @NicolaiSvendsen:如果您对阅读书籍感到满意 - Steve McConnell 编写的 Code Complete 2 将永久(更好地)影响您的编码方式。
猜你喜欢
  • 2019-06-10
  • 1970-01-01
  • 2011-04-19
  • 1970-01-01
  • 1970-01-01
  • 2020-09-22
  • 1970-01-01
  • 2011-08-16
  • 2012-12-05
相关资源
最近更新 更多