接口定义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