C# 类(Class)

C# 类(Class)

引言

C# 是一种面向对象的编程语言,在.NET框架中广泛使用。类(Class)是C#面向对象编程的核心概念之一,它定义了对象的属性和行为。本文将深入探讨C#中的类,包括其定义、特性、构造函数、方法、属性、访问修饰符以及继承等概念。

类的定义

类是创建对象的蓝图。在C#中,类是一个包含数据成员(字段、常量)和函数成员(方法、属性、事件、索引器、运算符、构造函数、析构函数)的密封单元。类定义了对象的属性(数据)和行为(方法)。

语法

csharp 复制代码
[访问修饰符] class 类名
{
    // 数据成员
    // 函数成员
}

示例

csharp 复制代码
public class Car
{
    string color;
    int doors;

    public Car(string c, int d)
    {
        color = c;
        doors = d;
    }

    public void DisplayInfo()
    {
        Console.WriteLine("Color: {0}, Doors: {1}", color, doors);
    }
}

构造函数

构造函数是一种特殊的方法,用于在创建对象时初始化对象的状态。构造函数的名称与类的名称相同,并且没有返回类型。

示例

csharp 复制代码
public class Person
{
    string name;
    int age;

    public Person(string n, int a)
    {
        name = n;
        age = a;
    }
}

方法

方法是一段执行特定任务的代码。在类中,方法可以访问类中的数据成员,并可以执行各种操作。

示例

csharp 复制代码
public class Calculator
{
    public int Add(int a, int b)
    {
        return a + b;
    }
}

属性

属性是一种用于访问和设置类中的私有字段的特殊方法。属性提供了对外部世界隐藏实现细节的封装。

示例

csharp 复制代码
public class Employee
{
    private string name;

    public string Name
    {
        get { return name; }
        set { name = value; }
    }
}

访问修饰符

访问修饰符用于控制类成员的访问级别。C#提供了以下访问修饰符:public、private、protected、internal和protected internal。

示例

csharp 复制代码
public class MyClass
{
    public int PublicField;
    private int PrivateField;
    protected int ProtectedField;
    internal int InternalField;
    protected internal int ProtectedInternalField;
}

继承

继承是面向对象编程的一个基本概念,允许我们创建一个新的类(子类)来继承另一个类(父类)的属性和方法。

示例

csharp 复制代码
public class Animal
{
    public void Eat()
    {
        Console.WriteLine("Eating...");
    }
}

public class Dog : Animal
{
    public void Bark()
    {
        Console.WriteLine("Barking...");
    }
}

结论

类是C#面向对象编程的核心。通过本文,我们了解了类的定义、构造函数、方法、属性、访问修饰符以及继承等概念。掌握类是成为一名优秀C#程序员的关键一步。

相关推荐
xiaowu08016 分钟前
C# task任务异步编程提高UI的响应性
开发语言·c#
kill bert2 小时前
Java八股文背诵 第四天JVM
java·开发语言·jvm
低头专研4 小时前
Markdown标题序号处理工具——用 C 语言实现
c语言·开发语言·typora·markdown文件标题编号·md文件标题序号
刚入门的大一新生5 小时前
C++初阶-C++入门基础
开发语言·c++
你是理想6 小时前
wait 和notify ,notifyAll,sleep
java·开发语言·jvm
forestsea6 小时前
Python进阶编程总结
开发语言·python·notepad++
q567315236 小时前
使用Java的HttpClient实现文件下载器
java·开发语言·爬虫·scrapy
六bring个六7 小时前
QT上位机笔记
开发语言·笔记·qt
步木木7 小时前
Qt 5.14.2入门(一)写个Hello Qt!程序
开发语言·qt
techdashen7 小时前
Rust主流框架性能比拼: Actix vs Axum vs Rocket
开发语言·后端·rust