小例子大智慧3--接口Interface,抽象类,抽象方法

为了更能体现出列子的价值,我列出了3个实例类和一个接口

Door:

//我用abstract来修饰它的抽象性

 public abstract class Door
    {
        public string Name;

        public double Height;

        public double Width;

        public abstract string Open();//抽象方法没有方法体

        public abstract string Close();

    }

GlassDoor:

 public class GlassDoor : Door
    {
        //抽象类必须由其子类实现它的抽象方法
        public override string Open()
        {
            return "玻璃门打开";
        }

        public override string Close()
        {
            return "玻璃门关闭";
        }
    }

AlarmDoor:

 public class AlarmDoor : Door, Ialarm
    {
        public override string Open()
        {
            return "防盗门打开";
        }

        public override string Close()
        {
            return "防盗门关闭";
        }

        public string Alarm()
        {
            return "警报器!!!";
        }
    }

IAlarm接口警报器:

   public interface Ialarm
    {
        string Alarm();
    }

前面工作做好了,后面是代码类;

aspx页面设计:

<body>
    <form id="form1" runat="server">
    <div>
        AlarmDoor:<br />
        <asp:Label ID="Label1" runat="server" ></asp:Label><br />
        <asp:Label ID="Label2" runat="server" ></asp:Label><br />
        <asp:Label ID="Label3" runat="server" ></asp:Label><br />
        GlassDoor:<br />
        <asp:Label ID="Label4" runat="server" ></asp:Label><br />
    </div>
    </form>
</body>

后台.cs代码:

   protected void Page_Load(object sender, EventArgs e)
    {
        AlarmDoor ad = new AlarmDoor();
        Label1.Text = ad.Open();
        Label2.Text = ad.Close();
        Label3.Text = ad.Alarm();

        GlassDoor gd = new GlassDoor();
        Ialarm alarmDevice = gd as Ialarm;
        if (alarmDevice != null)
        {
            Label4.Text = alarmDevice.Alarm();
        }
        else
        {
            Label4.Text = "该设备没有报警功能!";
        }
    }

例子虽小,接口和抽象类,抽象方法都体现出来,希望有帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值