C#接口的实现和继承实践

08月04日 收藏 0 评论 6 java开发

C#接口的实现和继承实践

转载声明:文章来源https://www.cnblogs.com/allencxw/p/9528443.html


1.基本概念

接口是一种契约规范,类似于抽象基类。包括方法,属性,索引器和事件作为成员,这些成员只是作为定义,并不在接口中具体实现。

接口创建时注意以下事项:

1、继承接口的任何非抽象类都必须实现接口的所有成员

2、不能直接实例化接口

3、接口可以包含事件,索引器,属性和方法,不包括方法的实现

4、类和结构可从多个接口继承,中间用“,”隔开

5、接口自身可从多个接口继承

接口声明格式如下

修饰符 interface 接口名称:继承接口列表(非继承接口可省去该部分)
{
接口内容:属性,方法,索引器,事件
}

2.使用实例

如定义一个信息类接口,包含编码和名称属性及信息显示方法。
通过销售类信息和进货类信息继承该接口。
整个文档接口如下:




接口定义

namespace CSCOMExample
{
public interface Informatioin
{
string Code { get; set; } //编码属性
string Name { get; set; }//名称属性
void ShowInfo();//输出信息方法
}

}


进货类

namespace CSCOMExample
{

/// <summary>
/// 进货信息继承接口
/// </summary>
public class JHInfo : Informatioin //继承接口
{
string code = "";
string name = "";
/// <summary>
/// 实现编码属性
/// </summary>
public string Code
{
get { return code; }
set { code = value; }
}
/// <summary>
/// 实现名称属性
/// </summary>
public string Name
{
get { return name; }
set { name = value; }
}
/// <summary>
/// 实现进货显示信息方法
/// </summary>
void Informatioin.ShowInfo()
{
Console.WriteLine("进货信息:\n" + Code + " " + Name);
}
}
}


销售类

namespace CSCOMExample
{
/// <summary>
/// 销售信息继承接口
/// </summary>
public class XSInfo : Informatioin //继承接口
{
string code = "";
string name = "";
/// <summary>
/// 实现编码属性
/// </summary>
public string Code
{
get { return code; }
set{code =value; }
}
/// <summary>
/// 实现名称属性
/// </summary>
public string Name
{
get{return name; }
set { name=value; }
}
/// <summary>
///销售信息显示方法
/// </summary>
void Informatioin.ShowInfo()
{
Console.WriteLine("销售信息:\n" + Code + " " + Name);
}
}
}



以上,分别在JHInfo类和XSInfo类中对接口的属性和方法进行了实现。

如此,一个信息接口Information就完成了。


再做一个测试程序,检测接口:

namespace ComText
{
class Program
{
static void Main(string[] args)
{
Informatioin[] Infos = { new JHInfo(), new XSInfo() };//定义接口数组
Infos[0].Code = "JH0001";
Infos[0].Name = "笔记本电脑";
Infos[0].ShowInfo();

Infos[1].Code = "XS0001";
Infos[1].Name = "荣耀手机";
Infos[1].ShowInfo();
Console.ReadLine();
}
}
}


输出结果如下:




心未老,即奋不顾身!

C 6条回复 评论
梦里不知身是客

喜欢这个老师的课

发表于 2023-02-22 22:00:00
0 0
鹜落霜洲

感谢分享!!!!

发表于 2022-01-08 23:00:00
0 0
岛上书店后

感谢分享

发表于 2021-09-13 21:35:00
0 0
Ricky

老师讲得真好,通俗易懂

发表于 2021-09-13 07:10:00
0 0
慨然思既往

简直是我梦想中的offer,好想去上班

发表于 2021-09-11 15:55:00
0 0
咳咳咳

我没有实习,也没有赶上校招,毕业之后只能社招,投的简历全部石沉大海,特别受打击。开始反思,找问题。简历做的不够好,产品质量达不到。现在停下来,在开始系统的,查漏补缺的学习。

发表于 2021-09-10 23:20:00
0 0