interface information //定义接口
{
string Code { get; set; }
string Name { get; set; }
void ShowInfo(); //输出信息
}
public class Sale : information //接口的继承
{
string code = "";
string name = "";
public string Code
{
get
{
return code;
}
set
{
code = value;
}
}
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
public Sale(string code, string name) //定义构造函数
{
Code = code;
Name = name;
}
public void ShowInfo() { } //实现接口方法
public static void ShowInfo(Sale[] sales)
{
foreach (Sale s in sales)
Console.WriteLine("商品编号:" + s.Code + "商品名称:" + s.Name); //用得是属性,不是具体变量
}
public static double CaleMoney(T[] items) //定义泛型方法,定义成静态,不需生成实例
{
double sum = 0;
foreach (T item in items)
sum += Convert.ToDouble(item);
return sum; //使用泛方法,不管传入什么类型,转化为double
}
}
求教大神定义这个接口有什么有,把接口注释掉运行起来一样的
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- weixin_41409709 2018-10-26 01:14关注
接口的理解
1. 面向接口编程利用面向对象的一个基本性质--多态,相同方法不同表现。可以这样想一下,client编写自己程序的时候,如果直接面向一个具体类写程序,那这个程序有个风吹草动的,那client就要受到影响,但如果面向一个接口就不同了,某个具体类变了,只知接口,不知具体类的client就可以完全不动。- 换个视角看,面向接口编程反映面向对象的另一个方面--封装,接口将具体实现封装了起来,相当于做一件事的准则,可以不影响客户的情况下切换实现。接口必须有实现它的类(class),单独不能使用。 所以如果Sale类不继承information接口也是可以正常使用的。information接口为用户开放了ShowInfo()方法,用户只需要有这个方法就可以,不需要知道类Sale是如何实现,所以information接口就是制定行为准则,即提供了一个调用的标准。类information的实际也必须按照这个标准来实现,否则也会出错。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
- ¥15 DruidDataSource一直closing
- ¥20 气象站点数据求取中~
- ¥15 如何获取APP内弹出的网址链接
- ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
- ¥50 STM32单片机传感器读取错误
- ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据
- ¥15 (关键词-阻抗匹配,HFSS,RFID标签)
- ¥50 sft下载大文阻塞卡死
- ¥15 机器人轨迹规划相关问题