黑马程序员技术交流社区

标题: 关于父类构造方法给子类构造函数赋值的问题 [打印本页]

作者: 潘迪海    时间: 2013-4-20 16:45
标题: 关于父类构造方法给子类构造函数赋值的问题
父类构造函数给子类构造函数赋值怎么赋值,子类里面的方法怎么调用父类构造方法付过来的值呢。
还有给子类实例化的时候怎么调用构造函数。
作者: 陈帅    时间: 2013-4-20 17:02
父类构造函数给子类赋值,子类的构造函数要用base
比如父类有Name,Age属性,父类的构造函数是
public Father(string name,int age)
{
this.Name = name;
this.Age = age;
}
子类Son多了个收入Income属性,子类的构造函数应该是
public Son(string name,int age,int income)
    :base(name,age)
{
this.Income = income;
}
这样就可以调用父类构造函数给子类赋值,
实例化子类的时候是,
Father son = new Son("王五",25,3000);
作者: 潘迪海    时间: 2013-4-20 17:16
陈帅 发表于 2013-4-20 17:02
父类构造函数给子类赋值,子类的构造函数要用base
比如父类有Name,Age属性,父类的构造函数是
public Fath ...

我想要实现的是给父类构造函数赋值的时候子类构造函数也自动继承他的属性不知道可以不可以
作者: 陈帅    时间: 2013-4-20 17:38
潘迪海 发表于 2013-4-20 17:16
我想要实现的是给父类构造函数赋值的时候子类构造函数也自动继承他的属性不知道可以不可以 ...

子类本来就继承父类的属性吧~
作者: 潘迪海    时间: 2013-4-20 17:40
陈帅 发表于 2013-4-20 17:38
子类本来就继承父类的属性吧~

继承父类的属性我知道 我要的是继承他属性的值
作者: 潘迪海    时间: 2013-4-20 17:44
比如说父类对象爸爸中有一个属性姓,当给姓赋值的时候  后面他的子类对象的姓都为爸爸的姓
作者: 陈帅    时间: 2013-4-20 18:14
潘迪海 发表于 2013-4-20 17:44
比如说父类对象爸爸中有一个属性姓,当给姓赋值的时候  后面他的子类对象的姓都为爸爸的姓 ...

这个不可能吧~~ 你每次给父类赋值,你继承了父类的构造函数,每次new个子类对象的时候,都会让你直接赋值的吧,子类只是继承了父类的属性,跟父类赋值没关系吧
作者: lanbuohan    时间: 2013-7-4 15:34
潘迪海 发表于 2013-4-20 17:44
比如说父类对象爸爸中有一个属性姓,当给姓赋值的时候  后面他的子类对象的姓都为爸爸的姓 ...

这个有一个问题,有一点父类的属性是否公有,同时你如果是公有属性时,你在用用子类的对象去调用时,就使一个爸爸的姓

作者: dwgeneral    时间: 2014-5-7 21:01
陈帅 发表于 2013-4-20 18:14
这个不可能吧~~ 你每次给父类赋值,你继承了父类的构造函数,每次new个子类对象的时候,都会让你直接赋值 ...

父类的构造函数不能被继承·······




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2