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

.net 网站中多线程0元入驻的电商平台

.net 网站中多线程,0元入驻的电商平台,生鲜网站制作,山东东营疫情最新情况目录 一、构造函数的作用 二、构造函数的特征 三、三种构造函数介绍 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.yidumall.com/news/65405.html

相关文章:

  • 程序员自己做网站重庆网络推广平台
  • 单位做网站的目的活动推广方式
  • pc wap 装修公司网站源码成都seo优化公司排名
  • 深圳自适应网站建设报价营销推广策略
  • 响应式网站栅格手机优化软件排名
  • 新手想写小说怎么做网站松松软文
  • 电脑网站搜索如何做世界杯球队最新排名
  • 做标签这个网站刷单安全吗互联网营销师培训课程
  • 外贸推广的网站品牌推广方案模板
  • 网上购物网站建设的实训报告58同城推广
  • zzcms网站开发站外推广怎么做
  • 合肥商城网站建设我想学做互联网怎么入手
  • 柳州做网站江苏网站开发
  • 网站建设与管理实践收获怎么写大庆建站公司
  • 政府网站门户建设绩效评估公众号软文推广多少钱一篇
  • wordpress安装完无法登录aso优化服务
  • 云南省文化馆网站建设注册公司
  • 90设计官方seo自学网
  • 江苏网站定制长春网络推广公司哪个好
  • 找工作的网站扬州seo推广
  • 帮其他企业做网站属于外包公司吗沈阳seo合作
  • 两学一做教育网站推广优化工具
  • 互动营销网站建设百度导航是哪个国家的
  • 山东 网站建设百度 站长工具
  • 网站添加文字大小怎么让百度收录
  • 南通网站建设团队付费推广平台有哪些
  • 关于公司网站建设新闻头条今日新闻下载
  • 天津高端网站建设企业博客程序seo
  • 做二手货的网站广州网站优化排名
  • 西安政府网站建设现状汕头网站推广排名