C#中子类是否继承了父类中定义的私有成员

1.结论:构造函数和析构函数不能被继承。除此以外的其它成员,不论对它们定义了怎样的访问方式,都能被继承。基类中成员的访问方式只能决定派生类能否访问它们;

2.下面的程序用来验证子类对象中存在父类中定义的私有成员

    class Program
    {
        static void Main(string[] args)
        {
            Son son = new Son();//本例中,只实例化了一个子类对象
            son.SonFunc();
        }
    }

    /// <summary>
    /// 父类
    /// </summary>
    class Father
    {
        private int m_age = 0;//父类私有成员
        protected void FatherFunc(Son son)
        {
            this.m_age = 30;//1.this 可访问私有成员
            //判断子类对象son 与 当前对象this 引用是否相同
            //经验证,引用相同 => 2.子类对象中拥有私有成员
            bool IsReferenceEquals = object.ReferenceEquals(son, this);
        }

    }

    /// <summary>
    /// 子类
    /// </summary>
    class Son : Father
    {
        public void SonFunc()
        {
            base.FatherFunc(this);//调用父类方法,将子类对象传进去
        }
    }

其他可参照:https://blog.csdn.net/qq_34343303/article/details/81612940

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值