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的实际也必须按照这个标准来实现,否则也会出错。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥66 定制开发肯德基自动化网站下单软件
  • ¥20 vscode虚拟环境依赖包未安装
  • ¥15 odoo17关于owl开发js代码问题
  • ¥15 光纤中多普勒频移公式的推导
  • ¥15 怎么制作一个人脸识别门禁系统
  • ¥20 大华dss监控平台网络关闭登不进去
  • ¥15 请使用蚁群算法解决下列问题,并给出我完整的代码
  • ¥20 关于php录入完成后,批量更新数据库
  • ¥15 请教往复密封润滑问题
  • ¥15 cocos creator发布ios包