zoukankan      html  css  js  c++  java
  • 28继承,委托,重写--[Asp.Net]

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    namespace demo5
    {
        public partial class jicheng : System.Web.UI.Page
        {
            public class ren
            {
                protected int yan;
                protected int shou;
                public delegate void RenChengHender(string s, int e);//委托
                public event RenChengHender RenChenged;//事件
                //构造函数
                public ren()
                {
                    yan = 1;
                    shou = 2;
                }
                public ren(int y, int s)
                {
                    yan = y;
                    shou = s;
                }
                //属性
                public int Yan
                {
                    get
                    { return yan; }
                    set
                    {
                        yan = value;
                        string s = "yan";
                        //如果改写,触发该事件
                        RenChenged(s, value);
                    }
                }
                public int Shou
                {
                    get { return shou; }
                    set
                    {
                        shou = value;
                        string s = "shou";
                        RenChenged(s, value);
                    }
                }
    
                //方法
                public string yanjin(int y)
                {
                    switch (y)
                    { 
                        case 0:
                            return "眼睛是心灵的窗户";
                            break ;
                        case 1:
                            return "还要";
                            break;
                        case 2:
                            return "不错哦";
                            break;
                        default :
                            return "假的。。。";
                            break;
                    }
                }
            }
            public class man : ren
            {
                private int age;
                private string sex;
                //构造函数
                public man(int a, string s, int y)
                    : base(6, 888)
                {
                    age = a;
                    sex = s;
                    yan = y;
                }
                public string ManRen
                {
                    get
                    {
                        return "一个" + sex + "人,他有" + yan + "只眼睛和" + shou + "只手" + age + "岁了";
    
                    }
                }
                public string suibian()
                {
                    return base.shou.ToString() + "," + this.yan.ToString();
                }
                public string yanjin(string a, int s)
                {
                    return a + "和" + s;
                }
    
                public new string yanjin(int y)
                {
                    string bl = base.yanjin(y);
                    return "父类方法被覆写,现在返回是:" + y + "我们调用基类同名方法所的结果为" + bl;
                }
            }
    
    
            protected void Page_Load(object sender, EventArgs e)
            {//创建一个人事件
                ren aa = new ren(2, 2);
                //赋值,注册一个事件
                aa.RenChenged += new ren.RenChengHender(aa_RenChenged);
                aa.Yan = 3;
                aa.Shou = 2;
    
                Response.Write("<br>眼睛"+aa.Yan+",手"+aa.Shou );
                Response.Write("<p>方法返回的是:"+aa.yanjin (3));
    
                man mrr = new man(23, "男", 5);
                Response.Write("<p>"+mrr.ManRen );
                Response.Write("<p>子类对象调用父类方法返回的是:" + mrr.yanjin(0));
                Response.Write("<p>子类对象调用父类方法返回的是:"+mrr.yanjin ("aa",5));
                Response.Write("<p>" + mrr.suibian());
            }
    
            void aa_RenChenged(string s, int e)
            {
                if (s == "yan")
                {
                    if (e == 3)
                    {
                        Response.Write("我不信,那个有三只眼睛");
                    }
    
                }
                if (s == "shou")
                { 
                    if (e==2)
                    {
                        Response.Write ("<p>一起正常");
                    }
                }
    
            }
        }
    }
    

     

    效果图:

  • 相关阅读:
    css浏览器兼容问题集锦
    【转】H264编码原理以及I帧B帧P帧
    Makefile Shell 脚本;sed命令
    oProfile 学习
    C++ 局部变量的析构
    【转】C++ 单例模式
    C++ operator 知识点 2
    C++ operator 知识点
    218多校第九场 HDU 6424 (数学)
    2018多校第九场 HDU 6416 (DP+前缀和优化)
  • 原文地址:https://www.cnblogs.com/wangmei/p/4487898.html
Copyright © 2011-2022 走看看