zhcn 编程语言 Golang Go 文件处理 非公開: C#类:类

C#类:类

在C#中,类是一种引用类型,包含状态(成员属性)和操作(成员方法和其他功能成员),并允许动态创建类的实例(实例),也称为对象。您可以通过类和对象来设计程序。

1. 类定义

类定义必须使用 class 关键字并具有以下语法形式:

<access specifier> class class_name
{
    <access specifier> <data type> variable1;
    <access specifier> <data type> variable2;
    …
    <access specifier> <data type> variableN;
    <access specifier> <return type> method1(parameter_list)
    {
    }
    <access specifier> <return type> method2(parameter_list)
    {
        // 
    }
    …
    <access specifier> <return type> methodN(parameter_list)
    {
        // 
    }
}

语法解释如下:

  • <访问说明符>是一个访问修饰符,用于指定类或类成员的访问规则。可以忽略不计。如果未指定,则使用默认访问修饰符。类的默认访问修饰符类中成员的默认访问修饰符是 private。
  • class_name 是类的名称。
  • <data type>是数据的类型,用于指定成员属性的数据类型。
  • 变量1、变量2等是与变量名类似的成员属性的名称。
  • <return type>是返回类型,用于指定成员函数的返回类型。
  • method1、method2等是成员函数的名称。

2. 对象

类和对象是不同的概念;类决定对象的类型,但不决定对象本身。此外,类是在开发阶段创建的,而对象是在程序执行期间创建的。由于对象可以被认为是基于类创建的实体,因此对象也可以称为类的实例。

要创建类的实例,必须使用 new 关键字。如果您创建一个名为 Student 的类并创建该类的对象,则语法为:

Student Object = new Student();

上面的例子中,前面的Student就是要创建的对象类型,Object是一个变量,指向Student类实例(Student类的一个对象)的内存地址。这里new关键字的作用主要是在程序执行过程中为类的实例分配内存。

此外,您可以像创建常规变量一样创建 Student 类型的变量,而无需使用 new 关键字实例化 Student 类。例如:

Student Object2;

不过,不建议使用这种写法,因为此时Object2只是一个Student类型的常规变量,并没有被赋值,所以你不能使用Object2访问对象内的任何属性或方法。如果你需要使用Object2,你可以像这样分配一个已经创建的对象给它:

Student Object3 = new Student();
Student Object2 = Object3;

在上例中,Object2和Object3指向同一个Student对象,因此使用Object3对Student对象的操作也会影响Object2。

创建对象后,如果要通过对象访问类的成员,则必须使用点运算符连接对象的名称和成员的名称.如下所示:

Student Object = new Student();
Object.method();  
Object.variable;  

3. 使用类和对象

以下是一些演示类和对象的具体用法的示例。

【示例】创建一个public Student类,有一些成员属性和成员方法,实例化这个类,通过类对象调用类中的成员属性和成员方法。

 using System;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args) 
        {
            Student stu1 = new Student();
            Student stu2 = new Student();
            stu1.insert(101, "Yamada", "男", 18);
            stu1.display();
            stu2.insert(102, "Takahashi", "女", 16);
            stu2.display();

        }
    }

    public class Student{
        public int id;
        public string name;
        public string sex;
        public int age;
        public void insert(int i, string n, string s, int a){
            id = i;
            name = n;
            sex = s;
            age = a;
        }
        public void display(){
            Console.WriteLine("Id:{0}  Name:{1}  Sex:{2}  age:{3}", id, name, sex, age);
        }
    }
} 

操作的结果将是:

Id:101  Name:Yamada  Sex:男  age:18
Id:102  Name:Takahashi Sex:女  age:16

《C#类:类》通俗易懂的讲解!您必须观看的 2 个最佳视频

オブジェクト指向のクラスとは?クラスに関する基礎知識を解説!
https://www.youtube.com/watch?v=iFLrNV3cq3I&pp=ygUeIEMjIOOCr-ODqeOCuTog44Kv44Op44K5JmhsPUpB
【毎日C# 講座】 クラスについて (Unityゲーム開発のための基礎)
https://www.youtube.com/watch?v=I-X13JEtzp8&pp=ygUeIEMjIOOCr-ODqeOCuTog44Kv44Op44K5JmhsPUpB
在C#中,类是一种引用类型,包含状态(成员属性)和操作(成员方法和其他功能成员),并允许动态创建类的实例(实例),也称为对象。您可以通过类和对象来设计程序。

1. 类定义

类定义必须使用 class 关键字并具有以下语法形式:

<access specifier> class class_name
{
    <access specifier> <data type> variable1;
    <access specifier> <data type> variable2;
    …
    <access specifier> <data type> variableN;
    <access specifier> <return type> method1(parameter_list)
    {
    }
    <access specifier> <return type> method2(parameter_list)
    {
        // 
    }
    …
    <access specifier> <return type> methodN(parameter_list)
    {
        // 
    }
}

语法解释如下:

  • <访问说明符>是一个访问修饰符,用于指定类或类成员的访问规则。可以忽略不计。如果未指定,则使用默认访问修饰符。类的默认访问修饰符类中成员的默认访问修饰符是 private。
  • class_name 是类的名称。
  • <data type>是数据的类型,用于指定成员属性的数据类型。
  • 变量1、变量2等是与变量名类似的成员属性的名称。
  • <return type>是返回类型,用于指定成员函数的返回类型。
  • method1、method2等是成员函数的名称。

2. 对象

类和对象是不同的概念;类决定对象的类型,但不决定对象本身。此外,类是在开发阶段创建的,而对象是在程序执行期间创建的。由于对象可以被认为是基于类创建的实体,因此对象也可以称为类的实例。

要创建类的实例,必须使用 new 关键字。如果您创建一个名为 Student 的类并创建该类的对象,则语法为:

Student Object = new Student();

上面的例子中,前面的Student就是要创建的对象类型,Object是一个变量,指向Student类实例(Student类的一个对象)的内存地址。这里new关键字的作用主要是在程序执行过程中为类的实例分配内存。

此外,您可以像创建常规变量一样创建 Student 类型的变量,而无需使用 new 关键字实例化 Student 类。例如:

Student Object2;

不过,不建议使用这种写法,因为此时Object2只是一个Student类型的常规变量,并没有被赋值,所以你不能使用Object2访问对象内的任何属性或方法。如果你需要使用Object2,你可以像这样分配一个已经创建的对象给它:

Student Object3 = new Student();
Student Object2 = Object3;

在上例中,Object2和Object3指向同一个Student对象,因此使用Object3对Student对象的操作也会影响Object2。

创建对象后,如果要通过对象访问类的成员,则必须使用点运算符连接对象的名称和成员的名称.如下所示:

Student Object = new Student();
Object.method();  
Object.variable;  

3. 使用类和对象

以下是一些演示类和对象的具体用法的示例。

【示例】创建一个public Student类,有一些成员属性和成员方法,实例化这个类,通过类对象调用类中的成员属性和成员方法。

 using System;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args) 
        {
            Student stu1 = new Student();
            Student stu2 = new Student();
            stu1.insert(101, "Yamada", "男", 18);
            stu1.display();
            stu2.insert(102, "Takahashi", "女", 16);
            stu2.display();

        }
    }

    public class Student{
        public int id;
        public string name;
        public string sex;
        public int age;
        public void insert(int i, string n, string s, int a){
            id = i;
            name = n;
            sex = s;
            age = a;
        }
        public void display(){
            Console.WriteLine("Id:{0}  Name:{1}  Sex:{2}  age:{3}", id, name, sex, age);
        }
    }
} 

操作的结果将是:

Id:101  Name:Yamada  Sex:男  age:18
Id:102  Name:Takahashi Sex:女  age:16

《C#类:类》通俗易懂的讲解!您必须观看的 2 个最佳视频

オブジェクト指向のクラスとは?クラスに関する基礎知識を解説!
https://www.youtube.com/watch?v=iFLrNV3cq3I&pp=ygUeIEMjIOOCr-ODqeOCuTog44Kv44Op44K5JmhsPUpB
【毎日C# 講座】 クラスについて (Unityゲーム開発のための基礎)
https://www.youtube.com/watch?v=I-X13JEtzp8&pp=ygUeIEMjIOOCr-ODqeOCuTog44Kv44Op44K5JmhsPUpB