【求助帖】基类的private字段如何被派生类继承??

.Net技术 码拜 6年前 (2015-05-10) 366次浏览 0个评论

本人大学二年级。。正学习算法语言一课。。
这周一个作业要求创建一个Student类,有name,id,gender等等私有字段。。然后派生Underguaduate类和Graduate类。。
但是在写构造函数的时候不能用基类的字段。
题目要求基类中的字段是private的。。求助如何写派生类的构造函数??

补充:语言是C#。。。
class Student
    {
        private string _id;
        private string _name;
        private bool _gender;
        private int _class;
        private int _grade;

        #region//属性
        public string ID { get { return _id; } set { _id = value; } }
        public string Name { get { return _name; } set { _name = value; } }
        public bool Gender { get { return _gender; } set { _gender = value; } }
        public int Class { get { return _class; } set { _class = value; } }
        public virtual int Grade { get { return _grade; } set { _grade = value; } }//虚拟属性
        #endregion

        //构造函数
        public Student(string id, string name, bool gender, int _class = 1, int grade = 1)
        {
            this._id = id;
            this._name = name;
            this._gender = gender;
            this._class = _class;
            this._grade = grade;
        }

        public new string ToString()
        {
            return _name + _id;
        }
    }

这是基类的Student,就是写派生类构造函数的时候报错了。。QAQ

private object 字段;
protected object 属性
{
   get{return this.字段;}
   set{this.字段=value;}
}
20分
子类构造函数可以通过base来调用

public class childStudent:Student
{
    pubic childStudent(string id,string name):base(id,name,true)
   {}
}

如果要访问父类字段,则可将字段用属性封装,然后通过属性进行操作

引用 4 楼 starfd 的回复:

子类构造函数可以通过base来调用

public class childStudent:Student
{
    pubic childStudent(string id,string name):base(id,name,true)
   {}
}

如果要访问父类字段,则可将字段用属性封装,然后通过属性进行操作

请问,base括号中的id,name指的是父类构造函数中的参数名吗?

VS2002,C# 1.0一度是支持私有继承
引用 5 楼 Kelvin_XX 的回复:
Quote: 引用 4 楼 starfd 的回复:

子类构造函数可以通过base来调用

public class childStudent:Student
{
    pubic childStudent(string id,string name):base(id,name,true)
   {}
}

如果要访问父类字段,则可将字段用属性封装,然后通过属性进行操作

请问,base括号中的id,name指的是父类构造函数中的参数名吗?

是的

错了,不是,是子类构造函数里的请求参数,然后调用父类构造函数
引用 8 楼 starfd 的回复:

错了,不是,是子类构造函数里的请求参数,然后调用父类构造函数

谢谢啦。。解决啦!


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明【求助帖】基类的private字段如何被派生类继承??
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!