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

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

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的实际也必须按照这个标准来实现,否则也会出错。
    已采纳该答案
    打赏 评论

相关推荐 更多相似问题