社区
C#
帖子详情
请教一个关于接口(interface)的问题
sh_city
2006-10-30 10:12:08
interface IInterfaceA
{
void DoSomething();
}
interface IInterfaceB:IInterfaceA
{
new void DoSomething();//隐藏基接口的成员
}
//这两个接口有什么不一样吗?好像IInterfaceB隐藏IInterfaceA的成员DoSomething也没什么作用啊.
//能举个简单的例子(代码)帮我理解一下吗。谢谢。
...全文
453
5
打赏
收藏
请教一个关于接口(interface)的问题
interface IInterfaceA { void DoSomething(); } interface IInterfaceB:IInterfaceA { new void DoSomething();//隐藏基接口的成员 } //这两个接口有什么不一样吗?好像IInterfaceB隐藏IInterfaceA的成员DoSomething也没什么作用啊. //能举个简单的例子(代码)帮我理解一下吗。谢谢。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qltouming
2006-10-30
打赏
举报
回复
以上你自举的例子,只是分别实现了那两个接口,实现了,但还没“用起来”,明白么?
你另写一个调用的例子,分别调用TestA和TestB这两个类,得到的结果就不同了。
你可能还会说,这样简单的事情,是否有点小题大作。
设想一下,如果你需求的TestA和TestB这两个类,都有很多的方法和属性,唯独在DoSomething()这个方法里略有不同……那么这个时候用这种隐藏基接口的成员的方法就特别管用了。
也许你在看一本书,讲解中举这个简单的例子来说明这样一种用法,别局限于示例本身,根据它的特点发散思维试试
sh_city
2006-10-30
打赏
举报
回复
interface IInterfaceA
{
void DoSomething();
}
interface IInterfaceB:IInterfaceA
{
new void DoSomething();//隐藏基接口的成员
}
//这两个接口有什么不一样吗?好像IInterfaceB隐藏IInterfaceA的成员DoSomething也没什么作用啊.
//能举个简单的例子(代码)帮我理解一下吗。谢谢。
public class TestA:IInterfaceA
{
public void DoSomething()
{
HttpContext.Current.Response.Write("11");
}
}
public class TestB:IInterfaceB
{
public void DoSomething()
{
HttpContext.Current.Response.Write("22");
}
}
//用了这两上类也没办法看出用了 new 隐藏基接口的成员 有什么不同
viena
2006-10-30
打赏
举报
回复
//这两个接口有什么不一样吗
本身没有什么不一样
不一样的在于定义不同的逻辑
sh_city
2006-10-30
打赏
举报
回复
qltouming(缘木渔人):能否稍详细一点.最好能贴个简单的例子给我,可以吗.非常感谢.
qltouming
2006-10-30
打赏
举报
回复
如果要在IInterfaceB中赋予DoSomething不同的含义或特性,这时候就有用了.
奇怪的打印机--LeetCode664
奇怪的打印机–LeetCode664 题目 有台奇怪的打印机有以下两个特殊要求: 打印机每次只能打印同
一个
字符序列。 每次可以在任意起始和结束位置打印新字符,并且会覆盖掉原来已有的字符。 给定
一个
只包含小写英文字母的字符串,你的任务是计算这个打印机打印它需要的最少次数。 示例 1: 输入: "aaabbb" 输出: 2 解释: 首先打印 "aaa" 然后打印 "bbb"。 示例 2: 输入: "aba" 输出: 2 解释: 首先打印 "aaa" 然后在第二个位置打印 "b" 覆盖掉原来的字符 'a'。
Leetcode 664. 奇怪的打印机 C++
Leetcode 664. 奇怪的打印机 题目 有台奇怪的打印机有以下两个特殊要求: 打印机每次只能打印同
一个
字符序列。 每次可以在任意起始和结束位置打印新字符,并且会覆盖掉原来已有的字符。 给定
一个
只包含小写英文字母的字符串,你的任务是计算这个打印机打印它需要的最少次数。 测试样例 示例 1: 输入: "aaabbb" 输出: 2 解释: 首先打印 "aaa" 然后打印 "bbb"。 示例 2: 输入: "aba" 输出: 2 解释: 首先打印 "aaa" 然后在第二个位置打印 "b" 覆盖掉原来的
【动态规划】【记忆化搜索】【C++算法】664. 奇怪的打印机
有台奇怪的打印机有以下两个特殊要求: 打印机每次只能打印由 同
一个
字符 组成的序列。 每次可以在从起始到结束的任意位置打印新字符,并且会覆盖掉原来已有的字符。 给你
一个
字符串 s ,你的任务是计算这个打印机打印它需要的最少打印次数。
664. 奇怪的打印机
664. 奇怪的打印机 有台奇怪的打印机有以下两个特殊要求: 打印机每次只能打印同
一个
字符序列。 每次可以在任意起始和结束位置打印新字符,并且会覆盖掉原来已有的字符。 给定
一个
只包含小写英文字母的字符串,你的任务是计算这个打印机打印它需要的最少次数。 思路 令dp[i][j]表示从字符位置i开始打印到字符位置j需要的最少次数,初始条件肯定是dp[i][j] = j - i + 1,然后我们可以遍历区间[i, j),假定遍历位置为k,遍历的字符为s[k],则tmp = dp[i][k] + dp[k + 1]
leetcode 664. 奇怪的打印机(dp)
题目 有台奇怪的打印机有以下两个特殊要求: 打印机每次只能打印由 同
一个
字符 组成的序列。 每次可以在任意起始和结束位置打印新字符,并且会覆盖掉原来已有的字符。 给你
一个
字符串 s ,你的任务是计算这个打印机打印它需要的最少打印次数。 示例 1: 输入:s = “aaabbb” 输出:2 解释:首先打印 “aaa” 然后打印 “bbb”。 示例 2: 输入:s = “aba” 输出:2 解释:首先打印 “aaa” 然后在第二个位置打印 “b” 覆盖掉原来的字符 ‘a’。 解题思路 数组含义 这题的数组的含义
C#
111,128
社区成员
642,534
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章