C#的接口有什么用?

      接口对于初学者来说是一个太抽象的东西。看了教材之后基本都是一个感觉:接口到底是用来干嘛的?书上讲声明接口,实现接口,并不难,难的是什么时候用接口呢?网上有几个非常通俗的讲解,很受益。再用自己的思路梳理一下,应该不算抄袭吧。

  案例:猫狗叫
  声明接口:
 interface 接口-叫
  {
      方法-叫();
 }

  实现接口:
  class 狗:接口-叫
  {
      方法-叫()
      {
           "汪汪";
       } 
 }

  class 猫:接口-叫
  {
      方法-叫()
      {
            "喵喵";
        } 
  }

  那么,使用的时候,就是  
class 动物行为
{
 main()
  {
     狗.方法-叫();
     猫.方法-叫();
  }
}

这时候肯定有人会想,为什么要这么复杂,直接定义一个类不就可以了?
像这样:
class 动物叫
{
  狗()
  {
        "汪汪"; 
  }
  猫()
  {
        "喵喵"; 
  }
}

class 动物行为
{
  main()
  {
    动物叫.狗();
    动物叫.猫();
  }
}

确实没有问题!

那为什么还要用看起来很复杂的接口?答案就在下面。

现在要新加一只鸭子的叫,对比上下两种方式的差异。

对于使用了接口的方式,只需增加如下操作:
  class 鸭:接口-叫
  {
      方法-叫()
      {
            "嘎嘎";
      } 
  }
 在“动物行为”的类里直接调用  鸭.方法-叫(); 即可。对其他的类不进行任何改动。

对于不使用接口的方式,先在“动物叫”的类里增加鸭叫的方法,然后再调用。
那么“动物叫”这个类是需要被随时修改的,这是一种不安全的做法。

当然,有人会说,不应该这样定义“动物叫”这个类,而是每个动物都定义成一个类,这样就可以单独增加鸭这个类了。我想说的是,这不就是使用接口的那个结构吗?这样做除了没有接口的声明,其他结构都一样了。

现在对动物行为的研究不仅限于叫,还有吃、喝、拉、撒等等,那么每个类里面都应该包含这些方法,这时候接口就体现了它存在的意义,一个极其重要的作用,就是规范每个类的方法。
只要是继承了接口的类,都包含了接口里面的方法。
那么,我再新加一个鸡的类,它需要哪些方法,都写在接口声明里面了,我只要逐一实现就好。
于是,我们说,接口是一种类与类之间的规范,一种协议!

  • 9
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要实现C#中的HTTPS接口调用,您可以遵循以下步骤: 1. 在项目中添加System.Net命名空间,这个命名空间提供了HTTP和HTTPS协议的类库。 2. 创建一个HttpWebRequest对象,用于请求HTTPS的URL地址。您可以使用WebRequest.Create方法来创建HttpWebRequest对象。 3. 配置HttpWebRequest对象的属性。例如,您需要设置请求的URL地址、请求方法、请求头等信息。您可以使用HttpWebRequest对象提供的相关属性来进行设置。 4. 向服务器发送请求并接收响应。您可以使用HttpWebRequest对象的GetResponse或者GetResponseStream方法来发送请求并接收响应。GetResponse方法将会阻塞当前线程,直到服务器返回响应。 5. 处理响应数据。您可以使用HttpWebResponse对象来获取响应数据,并将其转换为需要的格式(例如JSON或XML)。 下面是一个简单的C#代码示例,用于实现HTTPS接口调用: ```csharp using System; using System.IO; using System.Net; using System.Text; public class HttpsExample { public static void Main(string[] args) { // 创建HttpWebRequest对象 HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://example.com/api"); // 配置HttpWebRequest对象的属性 request.Method = "POST"; request.ContentType = "application/json"; request.Headers.Add("Authorization", "Bearer your_access_token"); // 发送请求并接收响应 HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream responseStream = response.GetResponseStream(); // 处理响应数据 StreamReader reader = new StreamReader(responseStream, Encoding.UTF8); string responseText = reader.ReadToEnd(); Console.WriteLine(responseText); // 关闭响应流和HttpWebResponse对象 reader.Close(); responseStream.Close(); response.Close(); } } ``` 在实际开发中,您可能需要根据自己的需求进行更加复杂的HTTPS接口调用。但是,以上的步骤是基本的步骤,您可以根据这些步骤进行开发。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值