当前位置: 首页 > news >正文

公司网站建设找谁做河南网站建设哪里好

公司网站建设找谁做,河南网站建设哪里好,免费的独立站建站工具,seo搜索优化是什么目录 一、构造函数的作用 二、构造函数的特征 三、三种构造函数介绍 1、实例构造函数 2、静态构造函数 3、私有构造函数 一、构造函数的作用 构造函数用来创建对象,并且可以在构造函数中对此对象进行初始化。构造函数具有与类相同的名称,它通常用来…

目录

一、构造函数的作用

二、构造函数的特征

三、三种构造函数介绍

1、实例构造函数

2、静态构造函数

3、私有构造函数


一、构造函数的作用

       构造函数用来创建对象,并且可以在构造函数中对此对象进行初始化。构造函数具有与类相同的名称,它通常用来初始化对象的数据成员。

        C#中构造函是在创建给定类型的对象时执行的类方法。构造函数是一个特殊的方法,无论什么时候,只要使用new运算符实例化对象,并且不为 new 提供任何参数,就会调用默认构造函数。除非类是静态的,否则C#编译器将为无构造函数的类提供一个公共的默认构造函数,以便该类可以实例化。在new实例化类的过程中,会执行类内对应的构造函数进行初始化,若无构造函数的,则会自动调用无参默认构造函数,静态构造函数会在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数以初始化类。

构造函数的分类可以为:实例构造函数、静态构造函数、私有构造函数

二、构造函数的特征

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp1
{class Program{static void Main(string[] args){student st = new student(10, "lihua") { ID = 10, number = 5 };//构造函数可以在实例化过程中初始化私有的属性,{ }大括号可以初始化公有属性的数据st.ccn();st.Info();Console.Read();}}public class student{private string name;private int age;public int ID;public int number;public student(){ }public student(int age,string name){this.age = age;this.name = name;}public void ccn(){Console.WriteLine("该学生的名字为:"+name+"   "+"年龄为:"+age);}public void Info(){Console.WriteLine("该学生的学号为:" + ID + "   " + "名次为:" + number);}}
}
  1. 构造函数可以有重载!
  2. 构造函数没有返回值,连void也不能写。
  3.  构造函数的名称必须跟类名一样。
  4. 构造函数的访问修饰符一般情况下访问修饰符为public(当然也有private)。
  5. 构造函数不能直接被调用,必须通过关键字new在创建对象时自动调用。
  6. 不带参数的构造函数称为“默认构造函数”。无论何时,只要使用new运算符实例化对象,并且不为new提供任何参数,就会调用默认构造函数。(即创建构造方法(函数)后,在类当中会生成一个一默认的无参数的构造函数,但是当你写个新的构造函数之后,不管是有参数的还是无参数的,那个默认的无参数的构造函数都被干掉了)。
  7. 如果一个类中定义了有参构造函数,实例化时需要调用无参构造函数,这时我们就必须定义一个显式无参数构造函数,否则运行会报错。

三、三种构造函数介绍

1、实例构造函数


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace _2022_07_19
{class Student{public Student(string name, int age, char gender, int id){this.Name = name;this.Age = age;this.Gender = gender;this.Id = id;}public string Name;public int Age;public char Gender;public int Id;public Student(string name, int age, char gender){this.Name = name;this.Age = age;this.Gender = gender;}public void SayHello1(){Console.WriteLine("我叫{0},我今年{1},我是{2}生,我的学号是{3}。",Name,Age,Gender,Id);}public void SayHello2(){Console.WriteLine("我叫{0},我今年{1},我是{2}生。", Name, Age, Gender);}}
}

 注意:1、定义了有参构造函数,则不能再使用无参默认构造函数,也就是在new实例化的时候必须在构造函数内传入参数。

2、构造函数可以重载,在定义了有参构造函数后可以重写一个无参构造函数,就可以使用无参构造函数了,否则将报错。

2、静态构造函数

     在C#中,可以为类定义静态构造函数,这种构造函数只执行一次。编写静态构造函数的主要原因是类有一些静态字段或属性,需要在第一次使用类之前,从外部源中初始化这些静态字段或属性。在定义静态构造函数时,不能设置访问修饰符,因为其他C#代码从来不会调用它,它只在引用类之前执行一次;另外,静态构造函数不能带任何参数,而且一个类中只能有一个静态构造函数,它只能访问静态成员,不能访问实例成员。  在类中,静态构造函数和无参数的实例构造函数是可以共存的,因为静态构造函数是在加载类时执行的,而无参数的实例构造函数是在创建类的对象时执行的。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp1
{class Program{static void Main(string[] args){student st = new student(10, "lihua") { ID = 10, number = 5 };st.ccn();st.Info();Console.Read();}}public class student{private string name;private int age;public int ID;public int number;public student(){ }static student(){Console.WriteLine("这里是静态构造函数");}public student(int age,string name){this.age = age;this.name = name;}public void ccn(){Console.WriteLine("该学生的名字为:"+name+"   "+"年龄为:"+age);}public void Info(){Console.WriteLine("该学生的学号为:" + ID + "   " + "名次为:" + number);}}
}

  1. 静态构造函数不使用访问修饰符或不具有参数。
  2. 在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数以初始化类。
  3. 不能直接调用静态构造函数。
  4. 无法控制在程序中执行静态构造函数的时间。
  5. 静态构造函数的一种典型用法是在类使用日志文件且将构造函数用于将条目写入到此文件中时使用。
  6. 静态构造函数对于创建非托管代码的包装类也非常有用,这种情况下构造函数可调用 LoadLibrary 方法。
  7. 如果静态构造函数引发异常,运行时将不会再次调用该函数,并且类型在程序运行所在的应用程序域的生存期内将保持未初始化。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace ConsoleApp2
{class Program{public static int X = 0;//静态变量//实例构造函数public Program(){X = 1;}//静态构造函数static Program(){X = 2;//第二步,执行静态构造函数}//第一步,程序入口Main最先执行,然后执行静态变量public static int X = 0static void Main(string[] args){Console.WriteLine(X);//结果为2Program dd = new Program();//第三步,执行构造函数Console.WriteLine(X);//结果为1Console.ReadLine();}}
}

      调用类的静态函数时的执行顺序:

  • 静态变量==>静态构造函数==>实例构造函数
  • 静态变量==>静态构造函数==>静态函数

        那么调用类的实例函数时的执行顺序则是:

  • 非静态变量==>实例构造函数==>实例函数

3、私有构造函数

       私有构造函数是一种特殊的实例构造函数。 它通常只在包含静态成员的类中。 如果类具有一个或多个私有构造函数而没有公共构造函数,则在其他类(除嵌套类外)中无法进行实例化。


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace ConsoleApp2
{class Program{int i = 0;private Program(){i = 9;}static void Main(string[] args){Program ss = new Program();Console.WriteLine($"i={ss.i}");//运行结果:i=9Console.ReadLine();}}class person{//Program ddd = new Program();//注释打开会报错,错误信息:不可访问,因为它受保护级别限制。因为私有构造函数无法在类的外面实例化。}

参考文献:

【精选】C# 第五章『面向对象』◆第3节:构造函数(方法)_c#构造方法-CSDN博客 

http://www.hkea.cn/news/564487/

相关文章:

  • 重庆做网站价格优化软件下载
  • 如何做网站镜像今日最火的新闻
  • 水果网站开发所需的成本市场营销实际案例
  • 无锡市新吴区住房和建设交通局网站西安百度关键词包年
  • 网站平台方案设计seo上首页
  • 郑州做网站的联系方式搜狗友链交换
  • 一般建设一个网站多少钱怎么接广告赚钱
  • 计算机专业网站开发方向销售推广方案
  • 上海网站建设公司排名西安百度公司
  • 中国网网址是多少网站推广优化教程
  • 关于加强机关网站建设运营培训
  • dw做的网站怎么让别人看到如何建立一个网站
  • 保险网站建设优缺点seo代码优化步骤
  • 如何快速建网站百度电脑版入口
  • 山东省建设工程信息网站最近最新的新闻
  • 免费网站建设方案锦绣大地seo官网
  • 电子商务的网站建设牛排seo系统
  • 资源收费网站怎么做网站快速优化排名官网
  • 招标网哪个网站信息可靠百度站长工具网站
  • 郑州七七网站建设互联网推广公司
  • 佛山做外贸网站代理商百度收录技术
  • 公司网站建设需要什么今日热搜第一名
  • 烟台建设企业网站网站快速收录入口
  • 怎么做繁体字网站网络营销公司注册找哪家
  • 做ppt介绍网站吗网站搜索引擎优化工具
  • 深圳网站建设有没有市场百度搜索推广的五大优势
  • 网站建设好的图片百度互联网营销
  • 柳州网站制作公司seo优化什么意思
  • 网站建设做的好的公司淘宝关键词优化怎么弄
  • 手机网站用模版方象科技的企业愿景