天轰穿C# -vs2010 - 04面向对象的编程之构造函数之间的调用【原创】
2012-12-29 14:06
337 查看
小天:有不有什么办法,实现一次就调用多个构造函数的方法?
老田:有的,这就需要构造函数之间的互访了,换句话说,比如上例,我调用无参数的构造函数来实例化一个对象。而这个无参数的再去调用其他的构造函数,其他的再调用。就这样一环扣一环的下去。如下例
小天:哦,原来构造函数之间的访问就是使用this关键字。不过怎么好长时间都不做实例了?老给我这些代码,我都不知道咋练习。
老田:(希望正在看书的朋友你千万别学小天)太懒了。你自己不会尝试建立一个应用程序。我给你做一个,但是别指望我告诉你具体的操作步骤。
我们新建了一个项目,做了一个添加商品并预览添加结果的实例。在添加按钮的事件中写如下代码:
执行后效果如图4-20
图4-20
问题就是上面效果中的那个问题,为什么前面两项的值都是对应的,但是后面价格的值却不不对应呢?如果实在不知道咋回事或者你已经猜到了就打断点,一行行的看下,这个值到底是怎么被贪污掉的。
本文章为天轰穿原创文章,转载请注明出处及作者。
老田:有的,这就需要构造函数之间的互访了,换句话说,比如上例,我调用无参数的构造函数来实例化一个对象。而这个无参数的再去调用其他的构造函数,其他的再调用。就这样一环扣一环的下去。如下例
public class Product1 { public int PID; public string PName; public decimal Balance; public Product1() { this.PID = 1; this.PName = ""; this.Balance = 0.0M; } public Product1(int fn, string ln) : this(fn, ln, 0.0M) //使用this关键字访问本类中三个参数的构造函数 { //本函数的代码 } public Product1(int fn, string ln, decimal bal) { this.PID = fn; this.PName = ln; this.Balance = bal; } } |
老田:(希望正在看书的朋友你千万别学小天)太懒了。你自己不会尝试建立一个应用程序。我给你做一个,但是别指望我告诉你具体的操作步骤。
我们新建了一个项目,做了一个添加商品并预览添加结果的实例。在添加按钮的事件中写如下代码:
private void button1_Click(object sender, EventArgs e) { int fn = Convert.ToInt32(tb_pid.Text); string ln = tb_pname.Text; Product1 p1 = new Product1(fn,ln); //上面赋值完了,下面就开始从对象中取值出来 lbl_pid.Text = p1.PID.ToString(); lbl_pname.Text = p1.PName; lbl_balance.Text = p1.Balance.ToString(); } |
图4-20
问题就是上面效果中的那个问题,为什么前面两项的值都是对应的,但是后面价格的值却不不对应呢?如果实在不知道咋回事或者你已经猜到了就打断点,一行行的看下,这个值到底是怎么被贪污掉的。
本文章为天轰穿原创文章,转载请注明出处及作者。
相关文章推荐
- 天轰穿C# -vs2010 - 04面向对象的编程之调用基类成员【原创】
- 天轰穿C# -vs2010 - 04面向对象的编程之运算符的工作方式【原创】
- 天轰穿C# -vs2010 - 04面向对象的编程之虚成员和重写【原创】
- 天轰穿C# -vs2010 - 04面向对象的编程之访问修饰符【原创】
- 天轰穿C# -vs2010 - 04面向对象的编程之隐藏基类方法【原创】
- 天轰穿C# -vs2010 - 04面向对象的编程之封装【原创】
- 天轰穿C# -vs2010 - 04面向对象的编程之属性【原创】
- 天轰穿C# -vs2010 - 04面向对象的编程之面向对象的编程简介【原创】
- 天轰穿C# -vs2010 - 04面向对象的编程之类关系图【原创】
- 天轰穿C# -vs2010 - 04面向对象的编程之申明和实现 【原创】
- 天轰穿C# -vs2010 - 04面向对象的编程之调用方法和属性【原创】
- 天轰穿C# -vs2010 - 04面向对象的编程之生成和引用项目 【原创】
- 天轰穿C# -vs2010 - 04面向对象的编程之运算符重载的示例【原创】
- 天轰穿C# -vs2010 - 04面向对象的编程之简单数组 【原创】
- 天轰穿C# -vs2010 - 04面向对象的编程之继承【原创】
- 天轰穿C# -vs2010 - 04面向对象的编程之密封【原创】
- 天轰穿C# -vs2010 - 04面向对象的编程之“对象”【原创】
- 天轰穿C# -vs2010 - 04面向对象的编程之多重继承 【原创】
- 天轰穿C# -vs2010 - 04面向对象的编程之构造函数【原创】
- 天轰穿C# -vs2010 - 04面向对象的编程之匿名类型 【原创】