继承

来源:互联网 发布:东芝2303am网络扫描 编辑:程序博客网 时间:2024/05/22 12:56

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace 虚方法
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Person p1 = new Person("yuwei",23,"男","技术部");
            p1.StrAge = 18;
            Response.Write(p1.sayhello());
            Response.Write("<br>");
            yuwei p2 = new yuwei("zhangsan", 25, "女", "销售部", 172.5f);
            Response.Write(p2.sayhello());
            Response.Write("<br>");
          
        }
    }
    #region //人类
    class Person  //声明一个类:人类
    {
        private string strName; //私有字段、封装
        private int strAge;
        private string strSex;
        private string strDept;
        public string StrName  //属性
        {
            get
            {
                return strName;
            }
            set
            {
                strName = value;
            }
        }
        public int StrAge
        {
            get
            {
                return StrAge;
            }
            set
            {
                strAge = value;
            }
        }
        public string StrSex
        {
            get
            {
                return strSex;
            }
            set
            {
                strSex = value;
            }
        }
        public string StrDept
        {
            get
            {
                return strDept;
            }
            set
            {
                strDept = value;
            }
        }
        public Person(string name, int age, string sex, string dept)
        {
            strName = name;
            strAge = age;
            strSex = sex;
            strDept = dept;
        }
        public Person(string name, int age, string sex) //构造函数重载
        {
            strName = name;
            strAge = age;
            strSex = sex;
           
        }
        public string sayhello() //不带参数,有返回值方法
        {
            string say="姓名:"+strName+"年龄:"+strAge+",性别"+strSex+",部门"+strDept;
            return say;
        }
        public string sayhello(string strID) //带参数,有返回值方法重载
        {
            string say = "工号:" + strID + "姓名:" + strName + "年龄:" + strAge + ",性别" + strSex + ",部门" + strDept;
            return say;
        }
    }
    #endregion
    #region //鱼尾
   sealed class yuwei : Person  //声明一个类yuwei,从Person类继承。注:此类(yuwei)为密封类,别的类无法再从该类继承
    {
        private float Height;
        public yuwei(string name,int age,string sex,string dept,float height):base(name,age,sex,dept)
        {
            Height=height;
        }
        public float HEIGHT
        {
            get
            {
                return Height;
            }
            set
            {
                Height = value;
            }
        }
        new public string sayhello() //方法重写
        {
            string hello=base.sayhello()+"身高:"+Height;
            return hello;
        }

    }
    #endregion
}

 

注:方法、构造函数的重载也“多态性”的一种,编译时多态性。还有一种为运行时多态性。

原创粉丝点击