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 天前
别再乱用 StartNew:C#.NET TaskFactory 任务调度实战详解
c#·.net
Artech2 天前
[MAF预定义的AIContextProvider-03]ChatHistoryMemoryProvider——赋予Agent从经验中学习的能力
ai·c#·agent·memory·maf
Scout-leaf4 天前
C#摸鱼实录——IoC与DI案例详解
c#
咕白m6254 天前
使用 C# 在 Excel 中应用多种字体样式
后端·c#
Artech4 天前
[MAF预定义的AIContextProvider-02]AgentSkillsProvider——将Agent Skills引入MAF
ai·c#·agent·agent skills·maf
LDR0065 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术5 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
码云数智-园园5 天前
C++20 Modules 模块详解
java·开发语言·spring
swordbob5 天前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
源分享5 天前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm