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();
}
}
}
查看全文
相关阅读:
微信小程序 添加卡券至微信卡券
微信小程序 引入第三方字体
小程序 生成条形码barcode.js
Pycharm编辑器功能之自动导入模块
Cannot open include file: 'libxml/xpath.h': No such file or directory
怎么在32位windows系统上搭建爬虫框架scrapy?
python2.7安装Twisted报Microsoft Visual C++9.0 required
在windows下搭建爬虫框架,安装pywin32时出错?
python如何通过pymongo连接到mongodb?
python2.7.12自带pip吗?
原文地址:https://www.cnblogs.com/shuang/p/1007355.html
最新文章
ABP官方文档翻译 8.1 通知系统
ABP官方文档翻译 7.3 Quartz集成
ABP官方文档翻译 7.2 Hangfire集成
eclipse整合maven下载jar包速度慢问题解决
hibernate主键生成策略
利用HibernateTools从数据库表生成带注解的POJO
mysql中返回当前时间的函数或者常量
mysql外键创建失败原因
mysql和java的时间对应关系
mysql中的各种concat
热门文章
mysql之数据去重并记录总数
Hibernate中使用子查询
Spring data jpa中Query和@Query分别返回map结果集
node搭建本地服务器
微信小程序获取微信地址
微信小程序保存图片到相册
vue打包图片路径报错问题
h5跳转小程序
小程序结构调整之使用async和await笔记
vue 微信浏览器ios系统<audio>不播放,图片预加载,scroll隐藏底部笔记
Copyright © 2011-2022 走看看