`
liusu
  • 浏览: 171520 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

多个interface有完全相同的签名方法得情况,C#比Java得处理似乎更合理一点

    博客分类:
  • Java
阅读更多
Interface A:

package snippet;

public interface IAPaint {
	public void paint();
}


Interface B:
package snippet;

public interface IBPaint {
	public void paint();
}



这样实现就可以了:
package snippet;

public class ABImpl implements IAPaint, IBPaint {

	public void paint() {
		System.out.println("Paint");
	}

	public static void main(String[] args) {
		IAPaint implA = new ABImpl();
		implA.paint();

		IBPaint implB = new ABImpl();
		implB.paint();
	}
}



实现了以后,A和B接口实现共享同个方法体。

呵呵,c#可以这样:

public class SampleClass : IControl, ISurface
{
    void IControl.Paint()
    {
        System.Console.WriteLine("IControl.Paint");
    }
    void ISurface.Paint()
    {
        System.Console.WriteLine("ISurface.Paint");
    }
}

分享到:
评论
2 楼 liusu 2009-06-11  
偶尔还是会出现这样的状况得。。。
1 楼 mikeandmore 2009-06-11  
那interface的意义何在,不如直接就多继承好了。。。

相关推荐

    Java 调用 C# DLL

    例如,C#和Java的数据类型并不完全相同,因此需要进行适当的映射。同时,由于Java和.NET的内存管理机制不同,需要注意内存泄漏的潜在风险。 博客链接提供了更具体的实现细节和示例代码,建议参考学习。在压缩包文件...

    一周学会C# java程序员转.NET必看

    C#还引入了`interface`,它是完全抽象的,只能包含方法签名,不能有实现。 8. **方法和属性**: 方法是执行特定任务的代码块,而属性提供了一种访问类成员的封装机制。C#支持自动属性(如`get; set;`),简化了...

    CSharp-calls-JAVA-program.rar_C#调用java的dll_c# 调用 java sdk_c#调用ja

    综上所述,C#调用Java程序涉及多个步骤,包括DLL的生成、引用添加、包装类的编写、环境变量的设置以及实际的调用过程。虽然这个过程可能较为复杂,但通过这种方式,可以充分利用不同语言的优势,构建出灵活且功能...

    c#学习笔记.txt

    看完了前面几段,我的朋友提出了不同的意见:C#不是Java的Clone,它只是长得有些像Java而已,其实面向对象、中间语言什么的也不是什么新玩意儿,非Sun独创,有文为证:华山论剑:C#对Java。另外他对我上一集中说...

    c#基础入门完全自学手册

    C#支持静态方法和实例方法,还可以通过方法重载来定义多个具有相同名称但参数不同的方法。 #### 流程控制 流程控制是编程的基础,C#提供了丰富的流程控制语句,如条件语句(if/else)、循环语句(for/while)以及异常...

    接口(Interface)样例

    在.NET框架中,接口(Interface)是一种特殊类型的引用类型,它定义了一组方法签名,但不包含任何实现。接口主要用于规范类的行为,确保不同类能够遵循相同的规则进行交互。在ASP.NET开发中,接口的应用非常广泛,...

    C#微软培训资料

    8.4 异常处理语句 .95 8.5 小 结 .100 第三部分 面向对象的 C#.101 第九章 面向对象的程序设计 .101 9.1 面向对象的基本概念.101 9.2 对象的模型技术 .103 9.3 面向对象的分析 .105 9.4 面向对象的设计...

    C# 语法基础.zip_c# 语法_ozn_语法基础

    总的来说,C#的基础语法涵盖了变量、数据类型、函数、控制流、数组、类、命名空间、接口、继承和多态等多个方面。理解和掌握这些基础知识,是成为C#程序员的关键步骤。通过不断的实践和学习,你可以逐步掌握更高级的...

    C#语法入门 初学者适用

    - **定义**:同一个类中多个具有相同名称但参数列表不同的方法。 - **目的**:提高代码复用性和可读性。 - **操作符重载** - **语法**:`public static ReturnType operator OperatorSymbol(Parameters) { ... }...

    C#基础教程(.NET编程语言)

    - **方法重载**:在同一类中可以有多个同名的方法,只要它们的参数列表不同即可。 ##### 11.5 操作符重载 - **操作符重载**:允许开发者自定义已有的操作符的行为。 ##### 11.6 小结 方法是程序中实现具体功能的...

    c#必备教程资料

    - **C#的角色**:C#是Microsoft .NET框架中的主要编程语言之一,由Anders Hejlsberg领导的团队开发,它结合了C++和Java的优点,提供了一种更安全、更稳定、更现代的编程体验。 - **C#特点**:C#具有简洁的语法、...

    接口讲义.rar

    3. C#接口:C#中的接口与Java类似,但C#允许一个类实现多个接口,用逗号分隔。C# 8.0引入了默认接口实现,允许在接口中提供默认的方法实现。 4. 接口与抽象类的区别:抽象类可以有部分实现,而接口只有方法签名。一...

    接口的多态实现

    接口在Java、C#等面向对象语言中扮演着重要的角色,它定义了一组方法签名,但不提供具体实现。类可以实现一个或多个接口,并提供这些方法的具体实现。这种设计模式被称为“接口多态”,它使得程序能够处理多种不同...

    微软C#中文文档

    结构是一种值类型,可以包含多个成员,类似于类。 ```csharp struct Point { public int X; public int Y; } ``` ##### 1.9 接口 接口定义了类必须实现的方法、属性、事件和索引器。 ```csharp interface ...

Global site tag (gtag.js) - Google Analytics