目录一、类和对象1. 核心概念2. 类的定义3. 对象创建与赋值二、值类型与引用类型1. 值类型2. 引用类型三、方法的定义与调用1. 方法概念2. 方法定义3. 方法调用四、方法参数1. 普通参数2. 多参数3. 对象参数4. 默认参数五、核心总结一、类和对象1. 核心概念类对象的模板 / 蓝图是具有相同属性和行为的集合对象类的实例化是类具体的表现2. 类的定义关键字class命名规范大驼峰访问修饰常用public公共、internal内部public class Student { // 私有字段类内部使用 private int _age; // 公共属性外部访问 public int Age { get; set; } public string Name { get; set; } public string Sex { get; set; } }3. 对象创建与赋值方式 1先创建后赋值Student student new Student(); student.Name 张三; student.Age 10; student.Sex 男;方式 2创建时直接赋值Student lisi new Student() { Name 李四, Age 20, Sex 女 };二、值类型与引用类型1. 值类型存储栈内存保存值本身赋值拷贝一份新数据互不影响类型int、float、double、bool、char、枚举、结构体、DateTimeint a 10; int b a; // 拷贝值 a 30; // 修改ab不变 Console.WriteLine(b); // 102. 引用类型存储堆内存保存内存地址 / 引用赋值拷贝地址指向同一块内存一改全改类型string、class、对象、数组、集合Book b1 new Book(); b1.Name 远大前程; Book b3 new Book(); b3.Name 无; b1 b3; // 共用地址 b3.Name 无1; // 修改b3b1同步变化 Console.WriteLine(b1.Name); // 无1三、方法的定义与调用1. 方法概念封装一段功能代码实现代码复用组成修饰符 返回值 方法名 参数 方法体2. 方法定义// 公共静态无返回值无参方法 public static void Test() { // 方法体 Console.WriteLine(方法执行); }3. 方法调用静态方法类名.方法名()或直接调用非静态方法对象.方法名()Test(); // 直接调用静态方法 Program.Test(); // 类名调用四、方法参数1. 普通参数public static void Test(string name) { Console.WriteLine(name); } // 调用 Test(细雪);2. 多参数public static void Test1(int count, string name) { for (int i 0; i count; i) { Console.WriteLine(name); } }3. 对象参数public static void Test2(Dog dog) { Console.WriteLine(dog.Name : dog.Age); }4. 默认参数写在参数列表最后不传参使用默认值传参使用传入值public static void Test4(int count, string name, string lieji 劣迹明星) { Console.WriteLine(name 是 lieji); } // 调用 Test4(10, 你好); // 使用默认值 Test4(10, 理解, 榜样明星); // 使用传入值五、核心总结类与对象类是模板对象是实例字段私有、属性公开值类型存栈中赋值拷贝互不影响引用类型存堆中赋值传地址一改全改方法封装功能支持多参数、对象参数、默认参数静态方法通过类名直接调用无需创建对象
6.C# —— 类与对象、数据类型、方法详解
目录一、类和对象1. 核心概念2. 类的定义3. 对象创建与赋值二、值类型与引用类型1. 值类型2. 引用类型三、方法的定义与调用1. 方法概念2. 方法定义3. 方法调用四、方法参数1. 普通参数2. 多参数3. 对象参数4. 默认参数五、核心总结一、类和对象1. 核心概念类对象的模板 / 蓝图是具有相同属性和行为的集合对象类的实例化是类具体的表现2. 类的定义关键字class命名规范大驼峰访问修饰常用public公共、internal内部public class Student { // 私有字段类内部使用 private int _age; // 公共属性外部访问 public int Age { get; set; } public string Name { get; set; } public string Sex { get; set; } }3. 对象创建与赋值方式 1先创建后赋值Student student new Student(); student.Name 张三; student.Age 10; student.Sex 男;方式 2创建时直接赋值Student lisi new Student() { Name 李四, Age 20, Sex 女 };二、值类型与引用类型1. 值类型存储栈内存保存值本身赋值拷贝一份新数据互不影响类型int、float、double、bool、char、枚举、结构体、DateTimeint a 10; int b a; // 拷贝值 a 30; // 修改ab不变 Console.WriteLine(b); // 102. 引用类型存储堆内存保存内存地址 / 引用赋值拷贝地址指向同一块内存一改全改类型string、class、对象、数组、集合Book b1 new Book(); b1.Name 远大前程; Book b3 new Book(); b3.Name 无; b1 b3; // 共用地址 b3.Name 无1; // 修改b3b1同步变化 Console.WriteLine(b1.Name); // 无1三、方法的定义与调用1. 方法概念封装一段功能代码实现代码复用组成修饰符 返回值 方法名 参数 方法体2. 方法定义// 公共静态无返回值无参方法 public static void Test() { // 方法体 Console.WriteLine(方法执行); }3. 方法调用静态方法类名.方法名()或直接调用非静态方法对象.方法名()Test(); // 直接调用静态方法 Program.Test(); // 类名调用四、方法参数1. 普通参数public static void Test(string name) { Console.WriteLine(name); } // 调用 Test(细雪);2. 多参数public static void Test1(int count, string name) { for (int i 0; i count; i) { Console.WriteLine(name); } }3. 对象参数public static void Test2(Dog dog) { Console.WriteLine(dog.Name : dog.Age); }4. 默认参数写在参数列表最后不传参使用默认值传参使用传入值public static void Test4(int count, string name, string lieji 劣迹明星) { Console.WriteLine(name 是 lieji); } // 调用 Test4(10, 你好); // 使用默认值 Test4(10, 理解, 榜样明星); // 使用传入值五、核心总结类与对象类是模板对象是实例字段私有、属性公开值类型存栈中赋值拷贝互不影响引用类型存堆中赋值传地址一改全改方法封装功能支持多参数、对象参数、默认参数静态方法通过类名直接调用无需创建对象