当前位置: 首页 > wzjs >正文

网站 用什么数据库北京网站建设制作开发

网站 用什么数据库,北京网站建设制作开发,万网 网站备案信息真实性核验单,WordPress文章生成图片插件派生成员作为实现 实现接口的类可以从它的基类继承实现的代码。例如,如下的代码演示了类从它的基类代码 继承了实现。 IIfc1是一个具有Print0ut方法成员的接口。MyBaseClass包含了一个叫作Print0ut的方法,它和IIfc1的方法声明相匹配。Derived类有一个空的…

派生成员作为实现

实现接口的类可以从它的基类继承实现的代码。例如,如下的代码演示了类从它的基类代码
继承了实现。

  • IIfc1是一个具有Print0ut方法成员的接口。
  • MyBaseClass包含了一个叫作Print0ut的方法,它和IIfc1的方法声明相匹配。
  • Derived类有一个空的声明主体,但它派生自MyBaseClass,并在基类列表中包含了IIfc1。
  • 即使Derived的声明主体是空的,基类中的代码还是能满足实现接口方法的需求。
interface IIfc1{void PrintOut(string s);}class MyBaseClass   //声明基类
{public void PrintOut(string s) //声明方法{Console.WriteLine($"Calling through:{s}");}
}class Derived:MyBaseClass,IIfc1   //声明类
{}class Program{static void Main(){Derived d=new Derived();     //创建类对象d.PrintOut("object.");       //调用方法}
}

图16-8演示了前面的代码。注意,始自IIfc1的箭头指向了基类中的代码。

基类中的实现

显式接口成员实现

在上一节中,我们已经看到单个类可以实现多个接口需要的所有成员,如图16-5和图16-6所示。
但是,如果我们希望为每一个接口分离实现该怎么做呢?在这种情况下,我们可以创建显式
接口成员实现。显式接口成员实现有如下特性。

  • 与所有接口实现相似,位于实现了接口的类或结构中。
  • 它使用限定接口名称来声明,由接口名称和成员名称以及它们中间的点分隔符号构成。

如下代码显示了声明显式接口成员实现的语法。由MyClass实现的两个接口都实现了各自版
本的Print0ut方法。

class MyClass:IIfc1,IIfc2
{void IIfc1.PrintOut(string s)  //显式实现{...}void IIfc2.PrintOut(string s)  //显式实现{...}
}

图16-9演示了类和接口。注意,表示显式接口成员实现的方框不是灰色的,因为它们现在
表示实际的代码。

显式接口成员实现
例如,如下代码中的为两个接口的成员声明了显式接口成员实现。注意,在这个示
例中只有显式接囗成员实现,没有类级别的实现。

interface IIfc1{void PrintOut(string s);}   //声明接口
interface IIfc1{void PrintOut(string t);}   //声明接口class MyClass:IIfc1,IIfc2
{void IIfc1.PrintOut(string s)  //显式接口成员实现  "IIfc1.PrintOut"限定接口名称{Console.WriteLine($"IIfc1:{s}");}void IIfc2.PrintOut(string s)  //显式接口成员实现{Console.WriteLine($"IIfc2:{s}");}
}class Program
{static void Main(){MyClass mc=new MyClass();    //创建类对象IIfc1 ifc1=(IIfc1)mc;         //获取IIfc1的引用ifc1.PrintOut("interface 1"); //调用显式实现IIfc2 ifc2=(IIfc2)mc;        //获取IIfc2的引用ifc2.PrintOut("interface 2"); //调用显式实现}
}

图16-10演示了这段代码。注意,在图中接口方法没有指向类级别实现,而是包含了自己的代
码。注意,在图16-10中,我们不能使用mc引用来调用Print0ut方法。不存在类级别的Print0ut
方法。

具有显式接口成员实现的接口引用

如果有显式接口成员实现,类级别的实现是允许的,但不是必需的。显式实现满足了类或结
构必须实现方法的需求。因此,我们可以有如下3种实现场景。

  • 类级别实现。
  • 显式接口成员实现。
  • 类级别和显式接口成员实现。

访问显式接口成员实现
显式接口成员实现只可以通过指向接口的引用来访问,如前面的示例所示。也就是说,其他
的类成员都不可以直接访问它们。
例如,如下代码演示了MyClass类的声明,它使用显式实现实现了llfc1接口。注意,即使
是myClass的另一成员Method1,也不可以直接访问显式实现

  • Method1的前两行代码产生了编译错误,因为该方法在尝试直接访问实现。
  • 只有Methodl的最后一行代码才可以编译,因此它强制转换当前对象的引用(this)为接
    • 类型的引用,并使用这个指向接口的引用来调用显式接口实现。
class MyClass:IIfc1
{void IIfc1.PrintOut(string s)  //显式接口实现{Console.WriteLine("IIfc1");}public void Method1(){PrintOut("...");  //编译错误this.PrintOut("...");//编译错误((IIfc1)this).PrintOut("...."); //调用方法  “((IIfc1)this)”转换为接口引用}
}

这个限制对继承产生了重要的影响。由于其他类成员不能直接访问显式接口成员实现,派生
类的成员也不能直接访问它们。它们必须总是通过接口的引用来访问。

http://www.dtcms.com/wzjs/496169.html

相关文章:

  • 青海网站制作哪家好简述seo和sem的区别
  • 泉州市住房和乡村建设网站app推广注册从哪里接单
  • 营销型网站建设的五力原则能搜任何网站的浏览器
  • 网站团购报名怎么做网站推广策划思路的内容
  • 做网站用什么语音网站关键字优化价格
  • 滁州市建设工程协会网站公司网站建设需要多少钱
  • 怎么样让网站网址有图标济南百度推广代理商
  • 建设银行ETC的网站是哪个怎么做营销推广方案
  • 杭州网站推广方式北京互联网公司排名
  • 效果图网站模板搜索引擎营销的四种方式
  • 邯郸做网站的博客企业网站制作模板
  • 传奇手游新开网站手机营销软件
  • 北京保安公司咖啡seo是什么意思
  • 邢台信息港最新二手房出售信息西安网络优化哪家好
  • 四川建设人员数据网站广州现在有什么病毒感染
  • 连山建设局网站正规代运营公司排名
  • 上海做网站的创建属于自己的网站
  • 虚拟主机网站建设实训总结广州疫情最新数据
  • 重庆建设行政主管部门网站推广策略包括哪些内容
  • 手机投注网站建设单词优化和整站优化
  • 广告文案策划seo网络培训班
  • 神木自适应网站开发百度热议怎么上首页
  • 张家界做网站美工公司seo优化视频教程
  • wordpress 邮件函数湖南seo推广系统
  • 保险做的好的网站有哪些内容百度 搜索热度
  • 欧美免费1级做爰片在线观看网站关键词优化是什么
  • 石家庄java开发做网站太原关键词排名优化
  • 公司概况-环保公司网站模板整站seo排名外包
  • 网络基础培训windows优化大师官方免费下载
  • 网站建设合同标的怎么写上海有什么seo公司