是否可以“在Abstract类中实现接口方法”? [英] Is it possible "implement interface method in Abstract class"?
本文介绍了是否可以“在Abstract类中实现接口方法”?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是否可以在Abstract类中实现接口方法?
赞
接口I1
{
int Add(int i1,int i2);
}
公共抽象类abstClass:I1
{
public Abstract int Add(int a,int b)
{
返回a + b;
} < br $>
{
}
}
class childCls
{
//我怎么称呼这些?
}
解决方案
你不能 - 你不能将方法声明为abstract
,然后提供一个正文。你可以非常愉快地说:
interface I1
{
int 添加( int i1, int i2);
}
public abstract class abstClass:I1
{
public int Add( int a, int b)
{
返回 a + b;
}
}
public class myClass:abstClass {}
...
myClass mc = new myClass();
Console.WriteLine(mc.Add( 1 , 2 ));或
interface I1
{
int 添加( int i1, int i2);
}
public abstract class abstClass:I1
{
public abstract int 添加( int a, int b);
}
public class myClass:abstClass
{
public 覆盖 int 添加( int a, int b)
{
返回 a + b;
}
}
...
myClass mc = new myClass();
Console.WriteLine(mc.Add( 1 , 2 ));
Is it possible "implement interface method in Abstract class"?
Like
Interface I1
{
int Add(int i1, int i2);
}
Public abstract class abstClass : I1
{
public Abstract int Add(int a, int b)
{
return a+b;
}
{
}
}
class childCls
{
//How can i call those here ?
}
解决方案
You can't - you cannot declare a method asabstract
and then provide a body. You can perfectly happily say:
interface I1 { int Add(int i1, int i2); } public abstract class abstClass : I1 { public int Add(int a, int b) { return a + b; } } public class myClass : abstClass { } ... myClass mc = new myClass(); Console.WriteLine(mc.Add(1, 2));Or
interface I1 { int Add(int i1, int i2); } public abstract class abstClass : I1 { public abstract int Add(int a, int b); } public class myClass : abstClass { public override int Add(int a, int b) { return a + b; } } ... myClass mc = new myClass(); Console.WriteLine(mc.Add(1, 2));
这篇关于是否可以“在Abstract类中实现接口方法”?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文