C#核心(持续更新中) 一、类和对象1、什么是类基本概念具有相同特征具有相同行为一类事物的抽象类是对象的模板可以通过类创建出对象类的关键词 class2、类申明在哪里类一般申明在namespace语句块中3、类申明语法访问修饰符 class 类名 { //特征——成员变量 //行为——成员方法 //保护特征——成员属性 //构造函数和析构函数 //索引器 //运算符重载 //静态成员 }4、类申明实例命名帕斯卡命名法注意同一个语句块中的不同类不能同名//这个类用来形容人类 class Person { //特征——成员变量 //行为——成员方法 //保护特征——成员属性 //构造函数和析构函数 //索引器 //运算符重载 //静态成员 }5、什么是类对象基本概念类的申明 和 类对象变量申明是两个概念类的申明 类似 枚举 和 结构体的申明 类的申明相当于申明了一个自定义变量类型而对象 是类创建出来的相当于申明一个指定类的变量类创建对象的过程 一般称为实例化对象类对象 都是引用类型的6、实例化对象基本语法类名 变量名类名 变量名 nullnull代表空类名 变量名 new 类名 7、实例化对象Person p; Person p2 null;//不分配堆内存空间 Person p3 new Person();//相当于一个人对象 Person p4 new Person();//相当于又是一个人对象注意p3和p4虽然是来自一个类的实例化对象但是他们的特征、行为等等信息都是他们独有的不要觉得他们是共享了数据的两个人彼此没有任何关系8、例题GameObject A new GameObject(); GameObject B A; B null;A在栈空间存储地址在堆内存分配空间栈地址指向堆内存中空间B在栈中开辟新空间也存储A栈空间中的地址栈地址指向对内存中空间B在栈中空间不变内容变成空不影响AGameObject A new GameObject(); GameObject B A; B new GameObject();A在栈空间存储地址在堆内存分配空间栈地址指向堆内存中空间B在栈中开辟新空间也存储A栈空间中的地址栈地址指向A的堆内存中空间B在栈中空间不变内容变成新的地址指向堆内存中新的空间不影响AStudent s new Student(); s.age 10; Student s2 s; s2.age 20;s在栈空间存储地址在堆内存分配空间s栈地址指向s堆内存中空间s.age存在s的堆空间s2在栈中开辟新空间也存储s栈空间中的地址s2栈地址指向s堆内存中空间s2.age就是s.ages2.age改变后s1.age也改变二、成员变量和访问修饰符1、成员变量基本规则申明在类语句块中用来描述对象的特征可以是任意变量类型数量不做限制是否赋值根据需求来定实例//枚举类——性别 enum E_SexType { Man, Woman, } //结构体——位置 struct Position { } //类 class Person { //特征——成员变量 //姓名 public string name ZCloud; //年龄 public int age; //性别 public E_SexType sex; //朋友 public Person friend; //位置 public Position pos; }注意如果要在类中申明一个和自己相同类型的成员变量是不能对它进行实例化如上面例子中的friend2、访问修饰符public —— 公共的 自己内部和别人外部都能访问和使用private —— 私有的 自己内部才能访问和使用 不写 默认为privateprotected —— 保护的 自己内部和子类才能访问和使用3、成员变量初始值数值类型 默认都是0bool类型 默认false引用类型 默认null看默认值方法括号里加要看的类型Console.WriteLine(default(int));三、成员方法1、成员方法的申明基本概念成员方法函数用来表现对象行为申明在类语句块中是用来描述对象行为的规则和函数申明规则相同受到访问修饰符规则影响返回值参数不做限制方法数量不做限制注意成员方法不要加static关键字成员方法 必须实例化出对象 再通过对象来使用 相当于该对象执行了某个行为//类 class Person { //特征——成员变量 //姓名 public string name ZCloud; //年龄 public int age; //性别 public E_SexType sex; //行为——成员方法 //判断是否成年 public bool IsAdult() { return age 18; } //说话 public void Speak(string str) { Console.WriteLine({0}说{1},name,str); } }四、构造函数和析构函数一构造函数基本概念在实例化对象时 会调用的用于初始化的函数如果不写 默认存在一个无参构造函数构造函数写法没有返回值函数名和类名必须相同没有特殊需求时 一般都是public的class Person { public string name; public int age; public Person() { name zCloud; age 18; } }//类中是允许自己申明无参构造函数的//结构体不允许构造函数可以被重载

相关新闻

最新新闻

10个Python工程化项目:从语法到生产环境的跃迁路径

10个Python工程化项目:从语法到生产环境的跃迁路径

1. 为什么这10个Python项目不是“练手清单”,而是知识跃迁的脚手架你是不是也刷过无数篇“10个Python小项目”的推文?点进去一看,猜数字、石头剪刀布、简易计算器……写得挺热闹,但做完之后,脑子里只留下“哦&#xff…

2026/7/14 19:58:15
UE5 Groom组件实战:从原理到实现角色动态头发效果

UE5 Groom组件实战:从原理到实现角色动态头发效果

1. 项目概述:从“小白人”到“发丝舞动”的蜕变在虚幻引擎5(UE5)的角色创作流程里,我们常常会碰到一个尴尬的境地:精心雕琢的角色模型,一旦配上静态、僵硬的头发,整个角色的生命力就大打折扣。无…

2026/7/14 19:58:15
LangGraph智能体开发:流式输出与状态管理实战

LangGraph智能体开发:流式输出与状态管理实战

1. 智能体开发中的流式输出与状态管理核心挑战在构建基于LangChain/LangGraph的智能体系统时,流式输出和状态管理是直接影响系统性能和用户体验的两大关键技术点。最近我在开发一个多智能体协作系统时,就遇到了这样的场景:当主智能体需要调用…

2026/7/14 19:58:15
基于MA12070与PIC18F4525的高保真音频系统设计

基于MA12070与PIC18F4525的高保真音频系统设计

1. 项目概述:构建基于MA12070与PIC18F4525的高保真音频系统在音频设备开发领域,D类放大器因其高效率和小型化特点已成为主流选择。MA12070作为英飞凌推出的高性能数字音频放大器IC,配合PIC18F4525微控制器的灵活控制能力,能够构建…

2026/7/14 19:58:15
Windows 11 WSL2 Ubuntu子系统SSH服务配置与开机自启全攻略

Windows 11 WSL2 Ubuntu子系统SSH服务配置与开机自启全攻略

1. 为什么要在WSL2中配置SSH服务? 很多开发者习惯在Windows系统上使用WSL2运行Ubuntu子系统进行开发工作。但直接使用Windows Terminal连接WSL2有个明显缺陷——每次重启电脑后,WSL2的IP地址都会变化。这意味着如果你用VS Code的Remote-SSH插件连接WSL2&…

2026/7/14 19:58:15
STM32F765ZI与TB67H480FNG电机控制方案详解

STM32F765ZI与TB67H480FNG电机控制方案详解

1. 为什么选择TB67H480FNG与STM32F765ZI组合在电机控制和嵌入式系统开发领域,硬件选型往往直接决定项目的性能上限和开发效率。TB67H480FNG作为东芝(现为Kioxia)推出的高效能步进电机驱动芯片,与STMicroelectronics的STM32F765ZI微…

2026/7/14 19:53:15

月新闻