asp.net 虚方法、抽象方法、接口疑问
更新时间:2009年06月13日 20:24:45 作者:
asp.net 虚方法、抽象方法、接口疑问等说明。
一、抽象类中可以提供非抽象的执行方法吗?接口呢?
答:抽象类可以这么写:
public abstract class A
{
public string getWebUrl()
{
return "jb51.net";
}
public abstract string getWebName();
}
public class B : A
{
public override string getWebName()
{
return "脚本之家";
}
}
运行: B b = new B();
Response.Write(b.getWebUrl());
编译通过没有错误,而接口本身只能包含成员但不包括具体实现,且抽象函数只能存在于抽象类中,所以接口中只有方法的签名,但没有具体的实现,且不是抽象函数,例如: C#复制代码
interface IA
{
string getWebUrl();
string getWebName();
}
二、接口中的成员是否必须被其子类实现?
答:接口是抽象类的一个特例,而抽象函数都必须被其子类覆盖实现,接口中的成员也一样必须被其子类实现。
三、抽象类中是否可以使用virtual关键字?
答:不可以,抽象类中只能包含抽象方法和抽象访问器。
四、抽象类能被实例化吗?
答:不可以。
答:抽象类可以这么写:
复制代码 代码如下:
public abstract class A
{
public string getWebUrl()
{
return "jb51.net";
}
public abstract string getWebName();
}
public class B : A
{
public override string getWebName()
{
return "脚本之家";
}
}
运行: B b = new B();
Response.Write(b.getWebUrl());
编译通过没有错误,而接口本身只能包含成员但不包括具体实现,且抽象函数只能存在于抽象类中,所以接口中只有方法的签名,但没有具体的实现,且不是抽象函数,例如: C#复制代码
interface IA
{
string getWebUrl();
string getWebName();
}
二、接口中的成员是否必须被其子类实现?
答:接口是抽象类的一个特例,而抽象函数都必须被其子类覆盖实现,接口中的成员也一样必须被其子类实现。
三、抽象类中是否可以使用virtual关键字?
答:不可以,抽象类中只能包含抽象方法和抽象访问器。
四、抽象类能被实例化吗?
答:不可以。
相关文章
.Net Core 使用 TagProvider 与 Enricher 丰富日志的操作代码
这篇文章主要介绍了.Net Core 使用 TagProvider 与 Enricher 丰富日志的操作,本文通过示例代码给大家介绍的非常详细,需要的朋友可以参考下2024-03-03
CZGL.ProcessMetrics处理监控数据的三种方式介绍
这篇文章介绍了CZGL.ProcessMetrics处理监控数据的三种方式,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-04-04
asp.net Repeater取得CheckBox选中的某行某个值的c#写法
asp.net(c#)利用Repeater取得CheckBox选中行的某个值的代码2008-08-08


最新评论