• 接口定义4(类实例中访问接口中的属性)


    using System;

    using System.Data;

     using System.Configuration;

    using System.Linq;

    using System.Web;

     using System.Web.Security;

    using System.Web.UI;

    using System.Web.UI.HtmlControls;

    using System.Web.UI.WebControls;

    using System.Web.UI.WebControls.WebParts;

    using System.Xml.Linq;

    /* 这个案例主要讲解:

    <1> 显示的调用接口中的方法 *       

    <2>被显示实现的接口成员不能从类实例列访问,如何解决    

     <3>通过类中直接访问接口中的方法      

     <4>显示的调用必须继承接口   

      这里面主要介绍的是一种方法,,应为有时候要实现接口中的方法的访问,只是提供一种方法*/

    public interface I_5_A {    

     string Name { get; set; }  

       double Price { get; set; }

        //以上是显示的定义两个属性。。一个Name,Price,一下是定义两个方法    

     string X_More();    

     string More();

    }

     public class I_5_L : I_5_A

    {    

     private string name;     private double price;

        public I_5_L()   

      {       

      name = "小吴";      

       price = 110.110;   

      }

        //下面是实例话I_5_A中接口成员    

     string I_5_A.Name   //这里面是实现的属性。显示声明也没有必要用到修饰符   

      {      

       get { return name; }       

      set { name = value; }

        }    

     public double Price   

      {        

     get { return price; }     

        set { price = value; }  

       }    

    string I_5_A.X_More()   

      {        

    string more = name + price.ToString();    

         return more;

        }  

       public string More()    

     {       

      string more = name + price.ToString();     

        return more;   

      }

    }

    这样的话。必须解决的是当我们需要访问接口中的方法时就必须先在类中进行定义,,然后重新重构

    下面使我们调用的方法:

    protected void Button1_Click(object sender, EventArgs e)   

      {       

      I_5_L Lei = new I_5_L();         //Lei.Price = 528;     

        Response.Write(Lei.Price.ToString());        

    Response.Write("<br/>"+Lei .More ());   

          Response.Write("<br/>$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$<br/>");    

         I_5_A Jie_Kou = Lei;   定义接口实例赋值与lei       

      Jie_Kou.Name = "我是接口类的调用";       

      Response.Write(Jie_Kou .Name );     

        Response.Write("<br/>" + Jie_Kou.X_More());

        }

      运行结果为:

    110.11 小吴110.11 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 我是接口类的调用 我是接口类的调用110.11

     
     
  • 相关阅读:
    RocketMQ源码 — 十、 RocketMQ顺序消息
    RocketMQ源码 — 九、 RocketMQ延时消息
    RocketMQ源码 — 八、 RocketMQ消息重试
    HDU3439 Sequence
    Cipolla算法学习小记
    BZOJ2286: [Sdoi2011]消耗战
    BZOJ4873 寿司餐厅
    BZOJ1718 [Usaco2006 Jan] Redundant Paths 分离的路径
    BZOJ1123 [POI2008]BLO
    BZOJ3996 TJOI2015线性代数
  • 原文地址:https://www.cnblogs.com/zhijianliutang/p/2250724.html
Copyright © 2020-2023  润新知