第十五讲:重载(实例补充之构造函数及普通方法,各自相互调用)

关于构造函数之间的调用方式和普通方法间的调用方式,自己写了个简单的实例代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace GZFFdiaoyong
{
    public class Class15
    {
        string _name;//姓名
        string _addr;//地址
        int _age;//年龄

        /// <summary>
        /// 姓名属性
        /// </summary>
        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }
        
        /// <summary>
        /// 地址属性
        /// </summary>
        public string Addr
        {
            get { return _addr; }
            set { _addr = value; }
        }
        
        /// <summary>
        /// 年龄属性
        /// </summary>
        public int Age
        {
            get { return _age; }
            set { _age = value; }
        }


        //************************************************************

        /// <summary>
        /// 空的构造函数
        /// 1. 当一个类中无构造函数时,系统默认添加一个空构造函数
        /// 2. 但是当一个类中有构造函数时,系统默认的构造函数是说类中定义的
        /// 3. 如果需要空构造函数,这里就需要手动定义
        /// </summary>
        public Class15() { }

        /// <summary>
        /// 带有改名参数的构造函数
        /// </summary>
        /// <param name="na">姓名</param>
        public Class15(string na):this(na,20,"广东深圳市宝安区") //注意构造方法间的调用
        {
            this._name = na;
        }

        /// <summary>
        /// 带有姓名和年龄的构造函数
        /// </summary>
        /// <param name="na">姓名</param>
        /// <param name="i">年龄</param>
        public Class15(string na, int i):this(na,i,"江苏南京市")
        {
            this._name = na;
            this._age = i;
        }

        /// <summary>
        /// 带有姓名,年龄和地址的构造函数
        /// </summary>
        /// <param name="na">姓名</param>
        /// <param name="i">年龄</param>
        /// <param name="ad">地址</param>
        public Class15(string na, int i, string ad)
        {
            this._addr = ad;
            this._age = i;
            this._name = na;
        }


        //************************************************************


        //普通方法间的调用
        public string FF1()
        {
            return this.FF2("hello,我知道了!");
        }

        public string FF2(string s)
        {
            return s;
        }
        
    }
}
前台代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace GZFFdiaoyong
{
    class Program
    {
        static void Main(string[] args)
        {
            string str1 = "张三";
            string str2 = "江南水乡";
            int age = 32;

            //分类显示各构造函数在实例好的运行结果
            Class15 cl = new Class15();
            Console.WriteLine(GZFFdiaoyong.Program.ToString(cl));

            //带一个参数的
            Console.WriteLine("--------------------------------\n");
            cl = new Class15(str1);
            Console.WriteLine(GZFFdiaoyong.Program.ToString(cl));

            //带两个参数的
            Console.WriteLine("--------------------------------\n");
            cl = new Class15(str1, age);
            Console.WriteLine(GZFFdiaoyong.Program.ToString(cl));

            //带两个参数的
            Console.WriteLine("--------------------------------\n");
            cl = new Class15(str1, age, str2);
            Console.WriteLine(GZFFdiaoyong.Program.ToString(cl));

            //普通方法之间的相互调用
            Console.WriteLine("--------------------------------\n");
            Console.WriteLine(cl.FF1());

            Console.ReadKey();
        }

        public static string ToString(Class15 c)
        {
            return "姓名:" + c.Name + "\n年龄:" + c.Age + "\n地址:" + c.Addr;
        }
    }
}

运行结果:


希望对跟我一样菜鸟的你有点小帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值