c#中,vs编译环境下,假如我在基类里写了一个实例化的方法,派生类创建对象时,可以直接通过继承使用

c#中,vs编译环境下,假如我在基类里写了一个实例化的方法,派生类创建对象时,可以直接通过继承使用吗?比如我通过new关键字要创建研究生对象st1,创建高中生对象st2,... c#中,vs编译环境下,假如我在基类里写了一个实例化的方法,派生类创建对象时,可以直接通过继承使用吗? 比如我通过 new 关键字要创建研究生对象st1,创建高中生对象st2,和一个初中生st3,他们继承于学生类(基类),假如我现在在基类里写一个创建学生st的方法,有没有一种手段,可以让他们通过继承基类创建对象的方法,从而创建出自身的对象,而不是通过重写基类的创建方法,希望能有大神指点一下,谢谢啦! 展开
 我来答
百度网友97df5c0af
2014-10-26 · TA获得超过568个赞
知道小有建树答主
回答量:490
采纳率:0%
帮助的人:577万
展开全部

首先,你“实例化的方法”这个描述就不正确,C#里没有这样的概念,所以不知道你想提问是“实例方法”还是“构造函数”


如有以下情况:

class StudentBase
{
  public StudentBase(String category) {}
  public void Foo() {}
}

class Junior : StudentBase
{
  public Junior() : base("Junior") {}
}


如果你问题说的是“实例方法”,那么,Junior当然可以调用Foo方法;

如果你想说的是“构造函数”,那么,当StudentBase不存在默认构造函数时,Junior必须显式调用StudentBase的构造函数。

更多追问追答
追问
我当初写学生基类的时候没有用构造函数,而是直接new了一个对象,然后直接通过属性赋值创建的st,现在我想派生一个研究生类,该如何创建研究生对象呢,难道必须用构造函数吗
追答
你基类没有显式编写构造函数,默认就是一个无参的构造函数,派生类构造的时候默认就会调用这个构造函数,不用额外显式声明。
只有上述情况:基类不存在无参构造函数时,才需要派生类在构造函数上显式声明调用基类的构造函数。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式