Tailwind CSSTailwind CSS
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
  • 3.1 类与对象

3.1 类与对象

概述

类是面向对象编程(OOP)的核心概念,是创建对象的蓝图。对象是类的实例,包含数据(字段)和行为(方法)。本节将介绍如何在C#中定义类、创建对象以及使用它们。

类的定义

在C#中,使用class关键字定义类。类可以包含字段、属性、方法和构造函数等成员。

public class Person
{
    // 字段(私有)
    private string name;
    private int age;

    // 构造函数
    public Person(string name, int age)
    {
        this.name = name;
        this.age = age;
    }

    // 属性(公有)
    public string Name
    {
        get { return name; }
        set { name = value; }
    }

    public int Age
    {
        get { return age; }
        set { age = value; }
    }

    // 方法
    public void Greet()
    {
        Console.WriteLine($"Hello, my name is {name} and I am {age} years old.");
    }
}

对象的创建与使用

通过new关键字创建类的实例(对象),并调用其成员。

// 创建Person对象
Person person1 = new Person("Alice", 30);

// 访问属性
Console.WriteLine(person1.Name); // 输出: Alice

// 调用方法
person1.Greet(); // 输出: Hello, my name is Alice and I am 30 years old.

类与对象的关系

  • 类:定义对象的模板,包含成员声明。
  • 对象:类的具体实例,占用内存并存储实际数据。

静态成员

使用static关键字定义静态成员,它们属于类而非对象。

public class MathUtility
{
    public static int Add(int a, int b)
    {
        return a + b;
    }
}

// 调用静态方法(无需创建对象)
int result = MathUtility.Add(5, 3); // result = 8

常见问题

  1. 字段与属性的区别:
    • 字段通常为私有,直接存储数据。
    • 属性提供对字段的封装,可添加逻辑(如验证)。
  2. 构造函数的作用:初始化对象的状态。
  3. 静态类的限制:静态类不能实例化,只能包含静态成员。

总结

  • 类是对象的模板,对象是类的实例。
  • 通过new关键字创建对象。
  • 静态成员属于类,而非特定对象。

在下一节中,我们将探讨面向对象的三大特性:封装、继承与多态。

Last Updated:: 5/3/25, 11:01 PM