继承在实体类中的一个应用

先来看看未使用继承时的代码:

/// <summary>

/// 保存在Session中的用户登录信息

/// 作者:唐军平

/// 时间:2009-7-18

/// </summary>

    public class ShortUserInfo

    {

        private int userId;

        private string userName;

        private string realName;

       

/// <summary>

        /// 用户编号

        /// </summary>

        public int UserId

        {

            get { return userId; }

            set { userId = value; }

        }

        /// <summary>

        /// 用户帐号

        /// </summary>

        public string UserName

        {

            get { return userName; }

            set { userName = value; }

        }

        /// <summary>

        /// 用户的真实姓名

        /// </summary>

        public string RealName

        {

            get { return realName; }

            set { realName = value; }

        }

}

 

/// <summary>

/// 用户详细信息

/// 作者:唐军平

/// 时间:2009-7-18

    /// </summary>

    public class UserInfo

    {

        public UserInfo()

        { }

        #region Model

        private int userId;

        private string userName;

private string realName;

        private string passwords;

        private bool sex;

        private string email;

        private string mobile;

        private string phone;

        private DateTime regDate;

        private DateTime loginDate;

        private string loginIp;

 

/// <summary>

        /// 用户编号

        /// </summary>

        public int UserId

        {

            set { userId = value; }

            get { return userId; }

        }

        /// <summary>

        /// 用户名

        /// </summary>

        public string UserName

        {

            set { userName = value; }

            get { return userName; }

        }

/// <summary>

        /// 真实姓名

        /// </summary>

        public string RealName

        {

            set { realName = value; }

            get { return realName; }

        }

        /// <summary>

        /// 密码

        /// </summary>

        public string Passwords

        {

            set { passwords = value; }

            get { return passwords; }

        }

        /// <summary>

        /// 性别

        /// </summary>

        public bool Sex

        {

            set { sex = value; }

            get { return sex; }

        }

        /// <summary>

        /// 电子邮件

        /// </summary>

        public string Email

        {

            set { email = value; }

            get { return email; }

        }

        /// <summary>

        /// 手机号

        /// </summary>

        public string Mobile

        {

            set { mobile = value; }

            get { return mobile; }

        }

        /// <summary>

        /// 电话

        /// </summary>

        public string Phone

        {

            set { phone = value; }

            get { return phone; }

        }

        /// <summary>

        /// 注册时间

        /// </summary>

        public DateTime RegDate

        {

            set { regDate = value; }

            get { return regDate; }

        }

        /// <summary>

        /// 最后登录时间

        /// </summary>

        public DateTime LoginDate

        {

            set { loginDate = value; }

            get { return loginDate; }

        }

        /// <summary>

        /// 最后登录IP

        /// </summary>

        public string LoginIp

        {

            set { loginIp = value; }

            get { return loginIp; }

        }

     比较这两个类,就会发现ShorUserInfo里的内容,在UserInfo里已存在。那么这种写法,显然有点臃肿。那么有哪种办法可以有效地优化一下呢?继承就可以,我们可以把ShorUserInfo作为UserInfo的基类,这样,UserInfo继承了ShortUserInfo之后,也就继承了ShorUserInfo里的字段和属性。ShortUserInfo所具有的,UserInfo也拥有了。好了,下边我来改造一下上边的代码:

/// <summary>

///保存在Session中的用户登录信息

/// 作者:唐军平

/// 时间:2009-7-18

/// </summary>

    public class ShortUserInfo

    {

        private int userId;

        private string userName;

        private string realName;

       

/// <summary>

        /// 用户编号

        /// </summary>

        public int UserId

        {

            get { return userId; }

            set { userId = value; }

        }

        /// <summary>

        /// 用户帐号

        /// </summary>

        public string UserName

        {

            get { return userName; }

            set { userName = value; }

        }

        /// <summary>

        /// 用户的真实姓名

        /// </summary>

        public string RealName

        {

            get { return realName; }

            set { realName = value; }

        }

}

/// <summary>

/// 用户详细信息

/// 作者:唐军平

/// 时间:2009-7-18

    /// </summary>

    public class UserInfo ShortUserInfo

{

        public UserInfo()

        { }

        private string passwords;

        private bool sex;

        private string email;

        private string mobile;

        private string phone;

        private DateTime regDate;

        private DateTime loginDate;

        private string loginIp;

        /// <summary>

        /// 密码

        /// </summary>

        public string Passwords

        {

            set { passwords = value; }

            get { return passwords; }

        }

        /// <summary>

        /// 性别

        /// </summary>

        public bool Sex

        {

            set { sex = value; }

            get { return sex; }

        }

        /// <summary>

        /// 电子邮件

        /// </summary>

        public string Email

        {

            set { email = value; }

            get { return email; }

        }

        /// <summary>

        /// 手机号

        /// </summary>

        public string Mobile

        {

            set { mobile = value; }

            get { return mobile; }

        }

        /// <summary>

        /// 电话

        /// </summary>

        public string Phone

        {

            set { phone = value; }

            get { return phone; }

        }

        /// <summary>

        /// 注册时间

        /// </summary>

        public DateTime RegDate

        {

            set { regDate = value; }

            get { return regDate; }

        }

        /// <summary>

        /// 最后登录时间

        /// </summary>

        public DateTime LoginDate

        {

            set { loginDate = value; }

            get { return loginDate; }

        }

        /// <summary>

        /// 最后登录IP

        /// </summary>

        public string LoginIp

        {

            set { loginIp = value; }

            get { return loginIp; }

        }

       Ok,改造成功。这样,我们既实现了我们想要的效果,又简化了代码。

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值