weixin_39482085 2018-10-25 03:36 采纳率: 100%
浏览 603
已采纳

求教大神定义这个接口有什么有,把接口注释掉运行起来一样的

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
}
}

  • 写回答

1条回答 默认 最新

  • weixin_41409709 2018-10-26 01:14
    关注

    接口的理解
    1. 面向接口编程利用面向对象的一个基本性质--多态,相同方法不同表现。可以这样想一下,client编写自己程序的时候,如果直接面向一个具体类写程序,那这个程序有个风吹草动的,那client就要受到影响,但如果面向一个接口就不同了,某个具体类变了,只知接口,不知具体类的client就可以完全不动。

    1. 换个视角看,面向接口编程反映面向对象的另一个方面--封装,接口将具体实现封装了起来,相当于做一件事的准则,可以不影响客户的情况下切换实现。接口必须有实现它的类(class),单独不能使用。 所以如果Sale类不继承information接口也是可以正常使用的。information接口为用户开放了ShowInfo()方法,用户只需要有这个方法就可以,不需要知道类Sale是如何实现,所以information接口就是制定行为准则,即提供了一个调用的标准。类information的实际也必须按照这个标准来实现,否则也会出错。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!