构造函数
共性:编写代码时,如果没有提供他们,则编译自动添加
作用:帮助我们初始化对象(给对象的每个属性依次的赋值)
构造函数时一个特殊的方法:
构造函数没有返回值,连void也不能写。必须public
构造函数的名称必须和类名一样
创建步骤:
1.新建一个带main函数的类
2.新建类clerk,快速新建类文件的方法:AIT+Shft+C
代码示例:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace _9._8_构造函数和析构函数
{
public enum Gender
{
男,
女
}
class clerk
{
private string _name;
public string Name
{
get { return _name; }
set { _name = value; }
}
//自动生成属性的快捷方式 ,先手写private Gender _Gender; 再执行Ctrl+r+e
private Gender _Gender;
public Gender Gender
{
get { return _Gender; }
set { _Gender = value; }
}
private int _Age;
//年龄
public int Age
{
get { return _Age; }
set { _Age = value; }
}
private string _departent;
//部门方法
public string Departent
{
get { return _departent; }
set { _departent = value; }
}
public void Write()
{
Console.WriteLine("我叫{0},我今年{1}岁了,我现在在{2}工作", this.Name, this.Age, this.Departent);
}
//构造函数的方法,必须public类型,加当前类名
public clerk(string name, Gender gender, int age, string departent)
{
this.Name = name;
this.Gender = gender;
this.Age = age;
this.Departent = departent;
}
}
}
带main函数的代码示例:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace _9._8_构造函数和析构函数
{
class Program
{
static void Main(string[] args)
{
//不使用构造函数进行赋值
/*
clerk wj = new clerk();
wj.Name = "锦大大";
wj.Gender = Gender.男;
wj.Age = 22;
wj.Departent = "开发部";
wj.Write();
Console.ReadKey();
*/
//使用构造函数进行赋值
clerk wj = new clerk("锦大大",Gender.男,22,"软件部");
wj.Write();
Console.ReadKey();
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构