在C#中的最佳方式或最佳实践的学习OOP规则(best way or best-practices

2019-07-29 11:27发布

我发现C#非常有趣......但不幸的是(或幸运!)它有许多功能来实现OOP规则....他们有不同的机制及让我时而迷糊....

虚拟的,新​​的,...在C#改性剂有不同的规则....那么什么是学习OOP规则最好的办法还是最佳做法,方便地使用他们...?

那么,什么是学习OOP规则最好的办法还是最佳做法,方便地使用他们...?

Answer 1:

最好的学习方法是让事情变得简单和实践(程序)很多。 关于虚拟/新/覆盖,主要有三种情况:

  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 ,如果可能的修改,因为它是有点混乱。



Answer 2:

最好的办法是了解从OOP原则(封装,继承和多态) 的基本来源 。 再担心特定的语言实现更高版本。 一旦你真正了解基本概念,语言细节变得简单易学,应用和掌握。



文章来源: best way or best-practices for learning OOP rules in c#
标签: c# oop