C# 类和对象

一、类和对象 核心概念

1. 类(模板)

类是抽象模板、图纸、模型

类本身不占用内存,只负责定义:有哪些字段、属性、方法

2. 对象(实例)

对象是根据类模板 new 出来的具体实例

所有由同一个类创建出来的对象,都属于同一种数据类型

一句话总结:类是模板,对象是模板造出来的具体个体。


二、类的定义语法规范

1. 书写位置

类必须写在 namespace 命名空间内部,不能直接写在最外层。

2. 语法格式

cs 复制代码
修饰符 class 类名
{
    // 类的成员:字段、属性、方法
}

3. 命名规范

  • 类名:大驼峰命名法(首字母大写)

  • 常用修饰符:public / internal


三、类的三大成员

类内部可以包含三种成员:字段、属性、方法

1. 字段(成员变量)

存储数据的变量,默认访问修饰符为 private 私有

cs 复制代码
public class People
{
    string name;     // 默认 private
    int age;         // 默认 private
    bool sex;        // 默认 private
    public string id;// public 公共字段
    private int _height; // 手动私有字段
}

重点不写修饰符 = private

2. 成员方法

描述对象的行为,分为:静态方法、非静态方法

(1)非静态方法(实例方法 / 对象方法)
  • 不带 static

  • 必须通过 对象名.方法名 调用

cs 复制代码
public void F1()
{
    Console.WriteLine("非静态无返回值方法");
}

// 调用
People zs = new People();
zs.F1();
(2)静态方法(类方法)
  • 带 static 关键字

  • 必须通过 类名.方法名 调用

  • 不属于对象,属于类本身

cs 复制代码
public static int F2(int a)
{
    return 100000;
}

// 调用
People.F2(10);

四、对象的创建方式

对象必须通过 new + 构造函数 创建

cs 复制代码
// 语法:类名 对象名 = new 类名();
People zs = new People();
zs.id = "002";

People ls = new People();
ls.id = "001";

每 new 一次,就会产生一个全新的独立对象,数据互不干扰。


五、访问修饰符(核心重点)

1. 四种访问权限

  • public 公共的:任何地方都能访问

  • private 私有的仅当前类内部可以访问(默认权限)

  • internal 内部的当前项目内 任意访问,跨项目无法访问

  • protected 受保护的:当前类和子类可以访问(后续继承讲解)

2. 代码验证 internal 权限

默认 class 修饰符为 internal

  • 同项目:可以直接 new 对象、访问成员

  • 跨项目:无法直接访问,需要手动添加项目引用 + 命名空间

cs 复制代码
internal class Program
{
    static void Main(string[] args)
    {
        //internal 在一个项目中可以相互访问
        Class1 c1 = new Class1();
        c1.age = 1;

        // 访问第4个课件People的类 属于internal 不能跨项目访问


        //如何添加引用?
        // 点击项目引用--->添加引用---->找到要添加项目----->选中,确定---->可以在当前项目引用中看到添加的东西
        //--->添加命名空间
        People p = new People();
        p.id = "002";
    }
}
public class Class1
{
    public int age;//字段
}

3. 跨项目访问步骤(必考实操)

  1. 右键项目 → 添加 → 项目引用

  2. 勾选需要引用的目标项目 → 确定

  3. 在当前代码顶部 引入命名空间

  4. 即可使用对方项目的 internal / public 类


六、静态方法 VS 非静态方法 终极区别(必背)

类型 是否带static 调用方式 归属
非静态方法 对象名.方法() 属于对象
静态方法 类名.方法() 属于类

七、全篇终极总结(背诵版)

  1. 类是模板,对象是实例,类不占内存,对象占内存

  2. 类的成员:字段(存数据)、方法(存行为)

  3. 字段默认 private,不写修饰符就是私有

  4. 非静态方法:对象调用;静态方法:类名调用

  5. internal:同项目随便用,跨项目需要引用

  6. public 全开放、private 仅内部、internal 限项目

相关推荐
覆东流2 小时前
7.Java数组
java·开发语言·后端
码行山野赴时序归途2 小时前
三道经典数组题:从暴力到最优的算法思维
c语言·开发语言·数据结构·算法·leetcode
lzhdim2 小时前
提高 SQL 语句执行速度的方法
java·开发语言·数据库·sql·oracle
JavaPub-rodert2 小时前
王仕宇在 Go Context 如何解决协程泄漏与超时控制
开发语言·后端·golang·iphone·javapub·王仕宇
ly76894 小时前
JavaScript 从入门到进阶:核心语法、异步编程与工程化实践
开发语言·javascript·ecmascript
落魄大学生之流水线上谋生计4 小时前
Java锁全面指南:从基础概念到企业级应用
java·开发语言
for_ever_love__4 小时前
python基础语法学习: 闭包
开发语言·python·学习·闭包
ly76894 小时前
Python 全面入门:从核心语法到工程实践
开发语言·python
艾伦_耶格宇5 小时前
【AI】-4 OpenCode Go 接入 Obsidian 完整指南
运维·开发语言·人工智能·agent·opencode
旋生万物6 小时前
【终极实战】用Python从零“生成“一个宇宙:螺旋干涉模型的代码实现
开发语言·前端·人工智能·react.js·php·wpf