亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

C# 类与对象:面向对象编程的基石

C# 类与对象:面向对象编程的基石

本教程通过示例讲解 C# 中类与对象的概念。

C# 是面向对象语言,应用围绕对象构建。在 OOP 中,我们将复杂问题拆解为可复用、自包含的对象。

要使用对象,需完成两步:


C# 类

类是对象的蓝图。可将其比作房屋设计图:定义房间、门、窗及结构规则。按图建造的实际房屋即为对象。

多栋房屋可共用同一设计图,正如多个对象可从同一类创建。

在 C# 中创建类

class ClassName { }

定义了名为 ClassName 的类。类可包含:

示例:

class Dog {
    // 字段
    string breed;
    // 方法
    public void Bark() {
        // 实现
    }
}

上例中:

注意: C# 中类成员包含字段和方法。


C# 对象

对象是类的实例。例如,Dog 类可产生 Bulldog、German Shepherd、Pug 等对象。

创建类的对象

ClassName obj = new ClassName();

new 创建对象,obj 为其名称。例如:

Dog bullDog = new Dog();

bullDog 对象现可访问 Dog 中定义的字段和方法。


通过对象访问类成员

使用点 (.) 运算符访问成员:

using System;
namespace ClassObject {
    class Dog {
        string breed;
        public void Bark() {
            Console.WriteLine("Bark Bark !!");
        }
        static void Main(string[] args) {
            // 创建 Dog 对象
            Dog bullDog = new Dog();
            // 设置品种
            bullDog.breed = "Bull Dog";
            Console.WriteLine(bullDog.breed);
            // 调用方法
            bullDog.Bark();
            Console.ReadLine();
        }
    }
}

输出

Bull Dog
Bark Bark !!

注意使用 bullDog 和点运算符访问 breed 和 Bark()。


创建同一类的多个对象

从同一类实例化多个对象,各自拥有独立数据:

using System;
namespace ClassObject {
    class Employee {
        string department;
        static void Main(string[] args) {
            // 第一个员工
            Employee sheeran = new Employee();
            sheeran.department = "Development";
            Console.WriteLine("Sheeran: " + sheeran.department);
            // 第二个员工
            Employee taylor = new Employee();
            taylor.department = "Content Writing";
            Console.WriteLine("Taylor: " + taylor.department);
            Console.ReadLine();
        }
    }
}

输出

Sheeran: Development
Taylor: Content Writing

每个对象持有自己的 department 值。


在不同类中创建对象

对象可在其他类中创建。例如:

using System;
namespace ClassObject {
    class Employee {
        public string name;
        public void Work(string work) {
            Console.WriteLine("Work: " + work);
        }
    }
    class EmployeeDrive {
        static void Main(string[] args) {
            // 创建 Employee 对象
            Employee e1 = new Employee();
            Console.WriteLine("Employee 1");
            // 设置名称
            e1.name = "Gloria";
            Console.WriteLine("Name: " + e1.name);
            // 调用方法
            e1.Work("Coding");
            Console.ReadLine();
        }
    }
}

输出

Employee 1
Name: Gloria
Work: Coding

EmployeeDrive 创建了 Employee 对象。公共成员允许跨类访问。访问修饰符详见 官方文档。


为什么需要对象和类?

类和对象实现模块化设计。例如游戏中有大量敌人,单个 Enemy 类可定义 health、ammo、Shoot()、Run()。每个敌人实例维护自身状态,共享行为逻辑。

围绕对象建模代码,可降低复杂度、提升可维护性、促进复用。

C语言

  1. 掌握 C# 抽象类与抽象方法:实战指南
  2. 理解 C# 分部类与分部方法
  3. 掌握 C# sealed 类与方法:用法、示例与代码安全性能提升
  4. C++类与对象:面向对象编程实战指南
  5. C++ 友元函数与友元类:突破访问控制的利器
  6. 精通 Python 面向对象编程:类、继承、封装与多态
  7. Java 类与对象:实用指南
  8. Java 抽象类与抽象方法完全指南
  9. 精通 Java 嵌套类与内部类:类型、示例与最佳实践
  10. Java 单例模式详解:安全实现与使用指南
  11. 精通 Java 反射:运行时检查类、方法与字段
  12. 精通 Java:理解对象、类与核心 OOP 概念