zoukankan
html css js c++ java
private/实现有多个相同方法的接口
当我们在一个类型中用完全限定接口名来定义一个接口方法时,该方法将被认为是私有方法,---只在该类型中(内部)可以调用,----而不能使用类型本身的引用来调用它。
----但是,当我们将该类型的引用转型为一个接口时,该接口中定义的方法将可以被调用,这时
它(用完全限定接口名来定义的接口方法)
又成为一个公有方法。---所以,当将gp变量转型为一个IWindow时,IWindow.GetMenu方法将是唯一可以调用的方法。
编译器按照先“完全限定接口成员”后“非完全限定接口成员”
using
System;
using
System.Collections.Generic;
using
System.Text;
namespace
App1
{
public
interface
IWindow
{
Object getMenu();
}
public
interface
IRestaurant
{
Object getMenu();
}
public
class
GiuseppePizzaria : IWindow, IRestaurant
{
IWindow Members
#region
IWindow Members
object
IWindow.getMenu()
//
有时私有,有时公有
{
Console.WriteLine(
"
I'm IWindow's implement getMenu()
"
);
return
""
;
}
#endregion
IRestaurant Members
#region
IRestaurant Members
object
IRestaurant.getMenu()
//
有时私有,有时公有
{
Console.WriteLine(
"
I'm IRestaurant's implement getMenu()
"
);
return
""
;
}
#endregion
public
Object getMenu()
//
该类型自身的getMenu方法,与接口无关
{
Console.WriteLine(
"
I'm GiuseppePizzaria's public method!
"
);
return
""
;
}
}
class
Program
{
static
void
Main(
string
[] args)
{
GiuseppePizzaria gp
=
new
GiuseppePizzaria();
object
menu;
//
调用公有的getMenu方法.使用GiuseppePizzaria引用,
//
完全限定接口方法将为私有方法,因此不可能被调用.
menu
=
gp.getMenu();
//
调用IWindow的getMenu方法。使用IWindow引用,
//
因此只有IWindow的getMenu()方法被调用。
menu
=
((IWindow)gp).getMenu();
//
调用IWindow的getMenu方法。使用IWindow引用,
//
因此只有IWindow的getMenu()方法被调用。
menu
=
((IRestaurant)gp).getMenu();
Console.Read();
}
}
}
查看全文
相关阅读:
php apc缓存以及与redis的对比
React Refs
React 表单与事件
React AJAX
React 组件生命周期
React 组件 API
React Props
React State(状态)
react 组件之间传值
react 创建组件
原文地址:https://www.cnblogs.com/shuang/p/1007355.html
最新文章
求帧差程序
PHP
PHP
AJAX简介
PHP SimpleXML
PHP XML DOM
PHP XML Expat 解析器
PHP 数据库 ODBC
PHP MySQL Delete
PHP MySQL Update
热门文章
PHP MySQL Order By 关键词
postgresql备份和恢复
postgresql 删除旧的版本9.5 并同时 升级到9.6
2 instances of postgresql but I really need one [closed]
Shell编程基础
linux sed 命令的用法
Linux修改Shell命令提示符及颜色
pg_dump: [archiver (db)] connection to database “dbase” failed: FATAL: Peer authentication failed for user “postgres”
php APC Configuration and Usage Tips and Tricks
golang 的GOPATH设置的问题
Copyright © 2011-2022 走看看