簡體   English   中英

在C#中學習OOP規則的最佳方法或最佳實踐

[英]best way or best-practices for learning OOP rules in c#

我發現C#非常有趣...但不幸的是(或幸運的是!)它具有實現OOP規則的許多功能。...它們具有不同的機制,有時會使我感到困惑。

c#中的virtual,new,...修飾符具有不同的規則....那么學習OOP規則並輕松使用它們的最佳方法或最佳實踐是什么?

那么學習OOP規則並輕松使用它們的最佳方法是什么?

最好的學習方法是保持簡單,並經常練習(編程)。 關於虛擬/新/覆蓋,主要有以下三種情況:

  1. 虛擬+覆蓋-在基類中使用虛擬,並在派生類中覆蓋,如:

     class BaseClass { public void virtual Test(){...} } class DerivedClass: BaseClass { public void override Test(){...} } 
  2. 抽象+覆蓋-這是先前情況的變體,其中基礎成員未定義主體:

     abstract class BaseClass { public void abstract Test(){...} } class DerivedClass: BaseClass { public void override Test(){...} } 
  3. 無修飾符-當您不打算覆蓋方法時,這很有用:

     class BaseClass { public void Test(){...} } class DerivedClass: BaseClass { public void OtherMethod(){...} } 

    在這種情況下,如果將OtherMethod命名為Test ,則會出現警告。 確實,這將與基本方法沖突。 您可以通過添加new修飾符來消除警告,如下所示:

     abstract class BaseClass { public void Test(){...} } class DerivedClass: BaseClass { public new void Test(){...} } 

    但是,我建議盡可能避免使用new修飾符,因為它有些令人困惑。

最好的選擇是從基礎資料中學習OOP原理(封裝,繼承和多態性)。 然后再擔心特定的語言實現。 一旦您真正理解了基本概念,就可以輕松地學習,應用和掌握語言細節。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM