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 限项目

相关推荐
方华世界13 分钟前
企业级Java AI Agent应用平台
java·开发语言·人工智能
吴可可12313 分钟前
C# CAD二次开发自定义实体实现
c#
ujainu小41 分钟前
原生性能优化:6变量实现高效桥接
开发语言·华为·性能优化·harmonyos
甄同学1 小时前
第十七篇:Bash Executor命令执行器,安全运行Shell命令
开发语言·安全·bash
张3231 小时前
Go语言基础 Map 函数值 闭包
开发语言·golang
杜子不疼.1 小时前
【C++ 在线五子棋对战】- 会话管理模块实现
开发语言·c++
有点。1 小时前
C++深度优先搜索(DFS)的概念(一)
开发语言·c++·深度优先
时间的拾荒人1 小时前
C语言编译与链接:从源码到可执行程序的完整解析
c语言·开发语言
人道领域1 小时前
【0-1的agent进阶篇】Prompt 与上下文工程
java·开发语言·prompt·mcp
aaPIXa6221 小时前
C++大型项目模块化拆分实战记录
开发语言·c++