VB.NET接口范例ISpeak

前端之家收集整理的这篇文章主要介绍了VB.NET接口范例ISpeak前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

VB.NET接口范例ISpeak

2012-5-20 08:11|发布者: benben|查看: 532|评论: 0

摘要: 我有一个朋友,他学习 VB.NET 时间还不是很长。这几天,他对面向对象编程中的接口突然产生了很大的兴趣。为了帮助他让他能够对接口有一个初步的、正确的认识,我写了下面的例子。同时,希望本例对目前还不是很了解接 ...

我有一个朋友,他学习 VB.NET 时间还不是很长。这几天,他对面向对象编程中的接口突然产生了很大的兴趣。为了帮助他让他能够对接口有一个初步的、正确的认识,我写了下面的例子。同时,希望本例对目前还不是很了解接口的朋友有所帮助。

VB.NET接口范例

在这个例子中,我定义了一个名为 ISpeak 的接口,它其中包括了三个签名(请参见下面程序)。由于接口是代表一种约定或者说是一种规则,它并不包含这种约定或者规则的具体实现。所以,我们只需要在接口中定义签名即可。在该接口中,包括了三个成员签名,它们分别代表了属性方法以及函数

接下来,我又定义了三个类,分别是 Baby、Children 和 Adlut ,这个三类都实现了上述接口。并且,在每个类实现接口的成员时,都给出了具体的实现。

来看代码

 
 
    @H_301_32@'定义一个接口
  1. PublicInterfaceISpeak
  2. @H_301_32@'仅定义签名,不包含任何实现
  3. ReadOnlyPropertyCanSpeak()AsBoolean'属性
  4. @H_301_32@SubSpeak()'方法
  5. FunctionGetSpeakLevel()AsSpeakLevelEnum'函数
  6. @H_301_32@EndInterface
  7. @H_301_32@'说话水平枚举
  8. PublicEnumSpeakLevelEnum
  9. @H_301_32@Bad'很差
  10. Ordinary‘一般
  11. @H_301_32@Fluent'流利
  12. EndEnum
  13. @H_301_32@
  14. PublicClassBaby:ImplementsISpeak'通过Implements关键字实现接口
  15. @H_301_32@'以下是实现该接口的所有成员
  16. PublicReadOnlyPropertyCanSpeak()AsBooleanImplementsISpeak.CanSpeak
  17. @H_301_32@Get
  18. ReturnFalse
  19. @H_301_32@EndGet
  20. EndProperty
  21. @H_301_32@
  22. PublicFunctionGetSpeakLevel()AsSpeakLevelEnumImplementsISpeak.GetSpeakLevel
  23. @H_301_32@ReturnSpeakLevelEnum.Bad
  24. EndFunction
  25. @H_301_32@
  26. PublicSubSpeak()ImplementsISpeak.Speak
  27. @H_301_32@Console.WriteLine("(旁白):他是一个婴儿,还不会说话。")
  28. EndSub
  29. @H_301_32@EndClass
  30. @H_301_32@PublicClassChildren:ImplementsISpeak
  31. PublicReadOnlyPropertyCanSpeak()AsBooleanImplementsISpeak.CanSpeak
  32. @H_301_32@Get
  33. ReturnTrue
  34. @H_301_32@EndGet
  35. EndProperty
  36. @H_301_32@
  37. PublicFunctionGetSpeakLevel()AsSpeakLevelEnumImplementsISpeak.GetSpeakLevel
  38. @H_301_32@ReturnSpeakLevelEnum.Ordinary
  39. EndFunction
  40. @H_301_32@
  41. PublicSubSpeak()ImplementsISpeak.Speak
  42. @H_301_32@Console.WriteLine("哈哈,我是一个快乐的孩子!")
  43. EndSub
  44. @H_301_32@EndClass
  45. @H_301_32@PublicClassAdult:ImplementsISpeak
  46. @H_301_32@PublicReadOnlyPropertyCanSpeak()AsBooleanImplementsISpeak.CanSpeak
  47. Get
  48. @H_301_32@ReturnTrue
  49. EndGet
  50. @H_301_32@EndProperty
  51. @H_301_32@PublicFunctionGetSpeakLevel()AsSpeakLevelEnumImplementsISpeak.GetSpeakLevel
  52. ReturnSpeakLevelEnum.Fluent
  53. @H_301_32@EndFunction
  54. @H_301_32@PublicSubSpeak()ImplementsISpeak.Speak
  55. Console.WriteLine("OK,我是成年人了,不但能流利地说母语,还会说外语。")
  56. @H_301_32@EndSub
  57. EndClass
  58. @H_301_32@
  59. @H_301_32@'程序入口点
  60. PublicClassAppStart
  61. @H_301_32@SharedSubMain()
  62. Dimperson1AsNewBaby
  63. @H_301_32@Dimperson2AsNewChildren
  64. Dimperson3AsNewAdult
  65. @H_301_32@
  66. person1.Speak()
  67. @H_301_32@person2.Speak()
  68. person3.Speak()
  69. @H_301_32@
  70. Ifperson2.GetSpeakLevel>SpeakLevelEnum.BadThen
  71. @H_301_32@Console.WriteLine("Person2的说话水平不算很差")
  72. EndIf
  73. @H_301_32@
  74. Ifperson1.CanSpeakThen
  75. @H_301_32@Console.WriteLine("Person1会说话")
  76. Else
  77. @H_301_32@Console.WriteLine("Person1不会说话")
  78. EndIf
  79. @H_301_32@
  80. Console.Read()
  81. @H_301_32@EndSub
  82. EndClass
  83. @H_301_32@

在 VS2005/2008 中建立一个“控制台项目”项目,将默认的 Module1.vb 删除,在该项目中添加一个类,将上述代码复制到这个类中覆盖原有内容,即可运行调试。

VB.NET接口范例学习经验

关于接口,学习总结如下:

1、定义接口名,应按照惯例,将接口名的第一个字母命名为 I,如上例中的 ISpeak,这样做的目的是见名知义,原因是因为接口的英语单词是 Interface;

2、由于接口中的成员签名必须在实现该接口的类中给出其具体实现,所以它们前面不用加访问级别修饰符(Public、Privated 等);

3、类通过 Implements 关键字实现接口;

4、一个类要实现一个接口,就必须实现该接口中定义的所有成员签名;

5、一个类可以实现多个接口,方法是在接口名用“,”隔开,如 Implements ISpeak,IRun。

以上是一个简单易懂的VB.NET接口范例,以及学习心得。

猜你在找的VB相关文章