显示接口成员

简介: 如下面的IDrivable和IStreerable都声明了TurnLeft()方法 public interface IDrivable {   void TurnLeft(); } public interface IStreerable {   void TurnLeft(); ...

如下面的IDrivable和IStreerable都声明了TurnLeft()方法

public interface IDrivable

{

  void TurnLeft();

}

public interface IStreerable

{

  void TurnLeft();

}

如果声明一个类实现这两个接口,在类中必须定义两个TurnLeft()方法,如何区别这两个方法呢?答案是:必须显示声明这个方法属于哪个接口,如下例:

 
 
1 /*
2 Example8_7.cs illustrates an explicit interface member
3 implementation
4   */
5
6   using System;
7
8
9 // define the IDrivable interface
10 public interface IDrivable
11 {
12 void TurnLeft();
13 }
14
15
16 // define the ISteerable interface
17 public interface ISteerable
18 {
19 void TurnLeft();
20 }
21
22 // Car class implements the IMovable interface
23 public class Car : IDrivable, ISteerable
24 {
25
26 // explicitly implement the TurnLeft() method of the IDrivable interface
27 void IDrivable.TurnLeft()
28 {
29 Console.WriteLine( " IDrivable implementation of TurnLeft() " );
30 }
31
32 // implement the TurnLeft() method of the ISteerable interface
33 public void TurnLeft()
34 {
35 Console.WriteLine( " ISteerable implementation of TurnLeft() " );
36 }
37
38 }
39
40
41 class Example8_7
42 {
43
44 public static void Main()
45 {
46
47 // create a Car object
48 Car myCar = new Car();
49
50 // call myCar.TurnLeft()
51 Console.WriteLine( " Calling myCar.TurnLeft() " );
52 myCar.TurnLeft();
53
54 // cast myCar to IDrivable
55 IDrivable myDrivable = myCar as IDrivable;
56 Console.WriteLine( " Calling myDrivable.TurnLeft() " );
57 myDrivable.TurnLeft();
58
59 // cast myCar to ISteerable
60 ISteerable mySteerable = myCar as ISteerable;
61 Console.WriteLine( " Calling mySteerable.TurnLeft() " );
62 mySteerable.TurnLeft();
63
64 }
65
66 }
相关文章
|
2月前
|
JSON Java 程序员
Java|如何用一个统一结构接收成员名称不固定的数据
本文介绍了一种 Java 中如何用一个统一结构接收成员名称不固定的数据的方法。
26 3
|
2月前
|
IDE Java 开发工具
imgKotlin - 扩展成员
imgKotlin - 扩展成员
18 1
|
7月前
|
Java C++ Python
私有成员、公共成员、保护成员如何定义
私有成员、公共成员、保护成员如何定义
77 0
|
8月前
访问结构成员
【2月更文挑战第9天】访问结构成员。
33 3
|
8月前
|
程序员 C语言
用户自定义结构体类型
用户自定义结构体类型
64 0
|
Go PHP 开发者
接口成员|学习笔记
快速学习接口成员,了解接口内部的成员规范,掌握接口的应用。
接口成员|学习笔记
使用接口来统一控件的取值、赋值和初始化
      这里说的控件主要指的是文本框、下拉列表框这一类的控件,用户使用这些控件输入数据,然后我们需要提取这些数据进行处理。但是不同的控件有不同的取值方式,比如文本框要用Text,下拉列表框是SelectedValue (当然还有其他的方法),CheckBoxList也是SelectedValue,但是这个只能获取第一个选项,如果是选择了多个选项,他只能返回第一个被选中的选项。
852 0
|
C# 开发工具
[C#]如何访问及调用类中私有成员及方法
原文:[C#]如何访问及调用类中私有成员及方法 本文为原创文章、源代码为原创代码,如转载/复制,请在网页/代码处明显位置标明原文名称、作者及网址,谢谢! 开发工具:VS2017 语言:C# DotNet版本:.
1289 0