行为抽象即可写成接口(Interface)。
如此链接的例子中的开与关,就可以把它们设计为抽象方法。我们宣告接口时,使用interface来声明,就如宣告类使用class一样。在编程规范中,使用字母"I"开头。接口中的所有签名,如方法,属性,索引器,事件等。不能带修饰符,比如public,private等,不能有任何实现内容,也不能声明虚拟(virtual)的或静态(static)的等。 ISwitchable
Insus.NET在此列举几个方面,如果生活中,我们需要开关水龙头,门与窗户,手机关机更换电池或打开使用等等。这样,统一接口,在开发过程中可以做到规范程序。 using System;using System.Collections.Generic;using System.Linq;using System.Web;////// Summary description for ISwitchable/// namespace Insus.NET{ public interface ISwitchable { void TurnOn(); void TurnOff(); }}
比如白炽灯,实现接口:
IncandescentLamp
水龙头实现接口: using System;using System.Collections.Generic;using System.Linq;using System.Web;////// Summary description for IncandescentLamp/// namespace Insus.NET{ public class IncandescentLamp : ISwitchable { public IncandescentLamp() { // // TODO: Add constructor logic here // } public void TurnOn() { HttpContext.Current.Response.Clear(); string On_Light = ""; HttpContext.Current.Response.Write(On_Light); } public void TurnOff() { HttpContext.Current.Response.Clear(); string Off_Light = ""; HttpContext.Current.Response.Write(Off_Light); } }}
WaterTap
门实现接口: using System;using System.Collections.Generic;using System.Linq;using System.Web;////// Summary description for WaterTap/// namespace Insus.NET{ public class WaterTap : ISwitchable { public WaterTap() { // // TODO: Add constructor logic here // } public void TurnOn() { //水龙头打开 } public void TurnOff() { //水龙头关闭 } }}
Door
只要对象的行为有“开”与“关”的,均可以此接口为实现。Insus.NET在ASP.NET开发过程中,使用过大量的接口,来解决诸多问题: or using System;using System.Collections.Generic;using System.Linq;using System.Web;////// Summary description for Door/// namespace Insus.NET{ public class Door: ISwitchable { public void TurnOn() { //写门打开的事情。 } public void TurnOff() { //写门关闭的事情。 } }}