C# 类(Class)

定义类

在 C# 中,类是用于创建对象的蓝图。它定义了对象的数据和行为。通过定义类,你可以创建具有特定属性和方法的对象。

-- -------------------- ---- -------
------ ----- ------
-
    -- --
    ------ ------ ---- - ---- ---- -
    ------ --- --- - ---- ---- -

    -- ----
    ------ ------------- ----- --- ----
    -
        ---- - -----
        --- - ----
    -

    -- --
    ------ ---- -----------
    -
        ------------------------- ---------- ----- -----
    -
-

类的属性

属性是类的成员之一,用于存储类的状态信息。属性可以分为只读、只写和可读写的。使用属性可以控制对类数据成员的访问。

-- -------------------- ---- -------
------ ----- ---
-
    ------- ------ -------

    -- ----
    ------ ------ -----
    -
        --- - ------ ------- -
    -

    -- -----
    ------ ------ ----- - ---- ---- -

    -- ----
    ------ --- ---- - --- - ----- - ------ - -
-

类的构造函数

构造函数是用于初始化新创建的对象的特殊方法。每个类至少有一个构造函数。如果未显式定义构造函数,则编译器会自动添加一个默认构造函数。

-- -------------------- ---- -------
------ ----- ------
-
    ------ ------ ---- - ---- ---- -

    -- ------
    ------ -------- - -

    -- --------
    ------ ------------- -----
    -
        ---- - -----
    -
-

类的继承

在面向对象编程中,继承是一种机制,允许一个类(子类)继承另一个类(基类)的属性和方法。继承使得代码复用更加容易,并且有助于构建复杂的系统。

-- -------------------- ---- -------
-- --
------ ----- ------
-
    ------ ------ ---- - ---- ---- -
    ------ ---- -----
    -
        -------------------------- --------
    -
-

-- --
------ ----- --- - ------
-
    ------ ---- ------
    -
        --------------------------
    -
-

-- --
--- ----- - --- ------
---------- - -----
------------   -- ----- -----
-------------  -- -------

类的多态性

多态性是指不同类的对象对同一消息做出响应的能力。这种能力使我们可以通过一个接口来表示不同的类型。多态性通常与继承一起使用。

-- -------------------- ---- -------
------ -------- ----- -----
-
    ------ -------- ------ ----------
-

------ ----- ------ - -----
-
    ------- ------ --------

    ------ ------------- -------
    -
        ------- - -------
    -

    ------ -------- ------ ---------
    -
        ------ ------- - ------- - --------
    -
-

------ ----- --------- - -----
-
    ------- ------ -------
    ------- ------ --------

    ------ ---------------- ------ ------ -------
    -
        ------ - ------
        ------- - -------
    -

    ------ -------- ------ ---------
    -
        ------ ------ - --------
    -
-

-- --
----- ------ - --- ----------
----- --------- - --- ------------ ---

------------------------------------      -- -------
---------------------------------------   -- --------

类的抽象类

抽象类是一种不能实例化的类,它只能作为其他类的基类。抽象类可以包含抽象方法,这些方法没有实现,并且必须由派生类提供实现。

-- -------------------- ---- -------
------ -------- ----- -------
-
    ------ -------- ---- --------

    ------ ---- -------------
    -
        ----------------------------
    -
-

------ ----- --- - -------
-
    ------ -------- ---- -------
    -
        -----------------------------
    -
-

-- --
--- ----- - --- ------
--------------------
--------------

类的接口

接口定义了一组方法和属性,但不提供它们的具体实现。实现接口的类必须提供接口中所有成员的具体实现。接口允许你为一组相关功能定义一个通用契约。

-- -------------------- ---- -------
------ --------- ---------
-
    ---- -------
    ---- --------
    ---- -------
-

------ ----- ----------- - ---------
-
    ------ ---- ------
    -
        -----------------------------
    -

    ------ ---- -------
    -
        ----------------------------
    -

    ------ ---- ------
    -
        ----------------------------
    -
-

-- --
--------- ------ - --- --------------
--------------
---------------
--------------

类的静态成员

静态成员属于类本身而不是类的实例。静态成员可以用类名直接访问,而不需要创建类的实例。静态成员通常用于表示与类相关的全局状态或常量。

-- -------------------- ---- -------
------ ----- ---------
-
    ------ ------ -------- ------ -- - --------
-

------ ----- ------
-
    ------ ------ ------ - ---- ---- -

    ------ ------ ---------
    -
        ------ ------------ - ------ - -------
    -
-

-- --
------ ---- - ------------------  -- ------ ------------
------------------------          -- -----------

类的密封类

密封类(sealed class)是一个不能被继承的类。使用 sealed 关键字标记的类不能被其他类继承。密封类通常用于那些不应该被扩展的类。

-- -------------------- ---- -------
------ ------ ----- ---------
-
    ------- ------ --------- ----------

    ------- ----------- - -

    ------ ------ --------- --------
    -
        ---
        -
            -- ---------- -- -----
            -
                --------- - --- ------------
            -
            ------ ----------
        -
    -
-

-- --------------
-- ------ ----- ---------------- - ---------
-- -
--     -- -------- --------- --
-- -

类的嵌套类

嵌套类是在另一个类内部定义的类。嵌套类可以访问外部类的所有成员,包括私有成员。这使得嵌套类可以方便地封装一些与外部类相关的功能。

-- -------------------- ---- -------
------ ----- ----------
-
    ------- --- ----- - ---

    ------ ----- -----------
    -
        ------ ---- -------------------- ------
        -
            -------------------------------------------
        -
    -
-

-- --
---------------------- ------ - --- -------------------------
-------------------- --------------

类的内部类

内部类是另一种类型的嵌套类,它与外部类的关系比普通嵌套类更紧密。内部类可以访问外部类的所有成员,甚至包括私有成员,并且其行为更像是外部类的一部分。

-- -------------------- ---- -------
------ ----- ----------
-
    ------- --- ----- - ---

    ------ ----- ----------
    -
        ------ ---- -----------
        -
            -------------------------------------
        -
    -
-

-- --
--------------------- ----- - --- ------------------------
------------------  -- ------------

类的泛型类

泛型类允许你在定义类时指定类型参数,从而使得类可以处理多种数据类型。使用泛型类可以提高代码的重用性和类型安全性。

-- -------------------- ---- -------
------ ----- --------------
-
    ------- --- ----- - --- -------
    ------- --- ------

    ------ ---- ----- -----
    -
        ------------ - -----
        --------
    -

    ------ - ----------- ------
    -
        ------ -------------
    -
-

-- --
---------------- ------- - --- -------------------
----------------
----------------

------------------- ---------- - --- ----------------------
------------------------
------------------------

--------------------------------------      -- -----
-----------------------------------------   -- --------

以上内容涵盖了 C# 中类的基本概念和使用方法。希望这些示例和解释能帮助你更好地理解和应用 C# 类。

上一篇: C# 枚举(Enum)声明与使用
下一篇: C# 继承
纠错
反馈