• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#使用this关键字实现串联构造函数调用方法

C#使用this关键字实现串联构造函数调用方法

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c#base关键字,c#this关键字,c#抽象关键字,c#关键字,c#关键字详解等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了C#使用this关键字实现串联构造函数调用方法。分享给大家供大家参考。具体分析如下:

在一个类中如果需要实现多个自定义构造函数,通常做法是在构造函数中实现各自的业务逻辑,如果这些业务逻辑的实现并非截然不同的话,显然不符合oop编程思想,极不利于维护,当然,我们也可以通过将相同的逻辑部分封装成一个方法,但还有一种更为合理简单的方法,下面就通过this关键字来实现串联构造函数做一简单示例。

示例代码如下:

public class Person
{       
        public string personName;
        //定义年龄为可空类型,这样就可以赋予其null值
        public int? personAge;

        //下面前三个构造函数都是去调用参数最多的第四个构造函数,只取它们所需要的部分参数即可
        //这样的做法就是this串联构造函数
        public Person():this("",0)
        {
           
        }

        public Person(string name):this("evan",null)
        {
           
        }

        public Person(int age):this("",20)
        {
           
        }

        public Person(string name, int? age)
        {
            this.personName = name;
            //通过 ?? 判断传入的age是否null值
            //如果属于null值,则赋值100
            this.personAge = age ?? 100;
        }

        public void Display()
        {
            Console.WriteLine("Name:{0},Age:{1}\n", personName, personAge);
        }       
}
</div>

主函数调用如下:

static void Main(string[] args)
{
        Person per1 = new Person();
        per1.Display();           

        Person per2 = new Person(20);
        per2.Display();           

        Person per3 = new Person("evan");
        per3.Display();           

        Person per4 = new Person("evan", 20);
        per4.Display();

        Console.ReadLine();           
}
</div>

这样的做法就是让一个接受参数最多的构造函数做"主构造函数", 且在主构造函数中实现必须的业务逻辑,其余的构造函数只要使用this关键字把传入的参数转发给主构造函数,并且提供必须的其它参数,这样子,我们整个类中需要我们操心的就是那个主构造函数了,其余构造函数基本上可以为空。

注意:如果构造函数链中还有实现各自的逻辑,那么实际上是先执行主构造函数的代码,再执行各自逻辑,使用这种做法,真正的工作都交给了一个构造函数,类定义就会更简洁、更易维护、简化了编程任务。

希望本文所述对大家的C#程序设计有所帮助。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C# this关键字的四种用法
  • C#使用this关键字实现串联构造函数调用方法
  • c#访问this关键字和base关键字示例
  • C#自动给文章关键字加链接实现代码
  • C# 屏蔽关键字的实现方法
  • C# 撒列实现关键字过滤的实例
  • C# 的关键字详细介绍
  • c# Base关键字的使用
  • C# 参考之访问关键字:base、this

相关文章

  • 2017-05-28C#实现通过程序自动抓取远程Web网页信息的代码
  • 2017-05-28C#实现洗牌算法
  • 2017-05-28c#使用微信接口开发微信门户应用中微信消息的处理和应答
  • 2017-05-28C#中把英文字母转换为大写或小写的方法
  • 2017-05-28WinForm下 TextBox只允许输入数字的小例子
  • 2017-05-28c#简单读取文本的实例方法
  • 2017-05-28获取字符串中的汉字拼音首字母
  • 2017-05-28C#窗体传值实例汇总
  • 2017-05-28js事件模型与自定义事件实例解析
  • 2017-05-28解析C#中的私有构造函数和静态构造函数

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 详解C# Socket编程笔记
    • Winform窗体圆角设计代码
    • C#播放背景音乐的方法小结
    • C#备忘录模式(Memento Pattern)实例教程
    • C#使用Ado.net读取Excel表的方法
    • C#实现的Windows剪贴板监视器功能实例【附demo源码下载】
    • C#中File类的文件操作方法详解
    • 常用.NET工具(包括.NET可再发行包2.0)下载
    • adonet基础示例分享(adonet连接数据库)
    • C#实现GZip压缩和解压缩入门实例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有