2015-09-20 26 views
0

使用公共函數/變量的正確方法是什麼?我的意思是我應該創建一個新的課程,充滿公開的一切嗎?像PublicFunctionsAndVariables類?使用公共方法的正確方法

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

我已經做了一個類,但不知道這是否是在C#中的約定。以上只是我做的一個簡單例子。

我有一個雙贏的形式應用,其中以不同的形式,我需要使用一些相同的代碼,就像一個功能過濾搜索結果等

在此先感謝。

+4

您應該仔細閱讀面向對象軟件開發的概念。 –

+0

好的謝謝很多:) –

回答

1

一般的概念是保持你的變量,屬性,方法...儘可能私有。只有那些需要從課堂以外訪問的元素才應該被視爲公共的。但是,如果你有太多的公共屬性和方法,你可能沒有做對(除非你正在創建一個助手或實用程序類)。所以我建議你抓住一本書並開始閱讀,Head Start C#書籍是真正理解的。

+0

感謝您的好信息,生病看看我是否可以把我的手放在那本書:) –

0

如果您將遵循到達面向對象設計的正確路徑,則不必爲公共成員創建新類。你所有的課程自然會有0個或更多的公共和私人成員。

在您的應用程序中是否存在PublicFunctionsAndVariables類型的任何對象?我很確定,不,這就像是說這個特定對象沒有任何私人的東西。所有其他實體都可以訪問此對象的所有內容。這完全不符合「面向對象」設計的方向。面向對象的設計應該以定義實際的「對象」爲導向。

您正試圖不定義,而是將類別與其隱私級別進行分類。相反,這些類是根據他們真正做的來定義的。如果他們的某些行動屬於無人知道的行爲類型,那麼他們將是私人的。他們與其他人互動的行爲應該是公開的/受保護的。

+0

坦克你的好輸入。我開始看MVA的一些視頻,希望它能給我一個關於它完成的方式的線索,我必須承認我發現OOP有點難以投入到我的代碼的上下文中。我可以理解它與動物(女巫似乎往往是在這些視頻的例子):) –

+0

@NicolaiSvendsen:這是我的兩個收藏。如果你能掌握他們的知識,你的知識將會大大提高。 1)http://www.lynda.com/Programming-tutorials/Foundations-Programming-Object-Oriented-Design/96949-2.html 2)http://www.lynda.com/Developer-Programming-Foundations-tutorials /Foundations-Programming-Refactoring-Code/122457-2.html免責聲明:我沒有以任何方式與Lynda.com連接。 – displayName

+0

@NicolaiSvendsen:如果你對讀一本書感到滿意 - 史蒂夫麥康奈爾的代碼完整2將永久性地削弱你的代碼。 – displayName