zoukankan      html  css  js  c++  java
  • 天轰穿C# vs2010 04面向对象的编程之构造函数之间的调用【原创】

    小天:有不有什么办法,实现一次就调用多个构造函数的方法?

           老田:有的,这就需要构造函数之间的互访了,换句话说,比如上例,我调用无参数的构造函数来实例化一个对象。而这个无参数的再去调用其他的构造函数,其他的再调用。就这样一环扣一环的下去。如下例

        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;

            }

        }

           小天:哦,原来构造函数之间的访问就是使用this关键字。不过怎么好长时间都不做实例了?老给我这些代码,我都不知道咋练习。

           老田:(希望正在看书的朋友你千万别学小天)太懒了。你自己不会尝试建立一个应用程序。我给你做一个,但是别指望我告诉你具体的操作步骤。

           我们新建了一个项目,做了一个添加商品并预览添加结果的实例。在添加按钮的事件中写如下代码:

            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

     

                         4-20

           问题就是上面效果中的那个问题,为什么前面两项的值都是对应的,但是后面价格的值却不不对应呢?如果实在不知道咋回事或者你已经猜到了就打断点,一行行的看下,这个值到底是怎么被贪污掉的。

    本文章为天轰穿原创文章,转载请注明出处及作者。

  • 相关阅读:
    do-while语句
    指针操作符
    字符译码
    PHP流程控制分支结构
    PHP数据类型和常量
    PHP中使用的变量
    第一个PHP程序
    HTML的区块属性
    HTML的定位属性
    HTML的盒子模型
  • 原文地址:https://www.cnblogs.com/thcjp/p/2838703.html
Copyright © 2011-2022 走看看