catlon

C#基础学习-------成员

在面向对象编程(OOP)中,成员是类或对象所包含的属性、方法、事件、字段等的统称。它们定义了类的行为和状态。C# 中的成员有以下几种类型:

1. 字段(Fields)
字段是类中的变量,用于存储对象的状态。字段可以是实例字段(属于对象的每个实例)或静态字段(属于类本身)。

public class Person
{
    public string Name; // 实例字段
    public static int Population; // 静态字段
}

2. 属性(Properties)
属性是字段的扩展,提供了对字段的读写访问。属性可以包含 get 和 set 访问器。

public class Person
{
    private string name; // 私有字段

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

3. 方法(Methods)
方法是类中的函数,用于定义类的行为。方法可以是实例方法(属于对象的每个实例)或静态方法(属于类本身)。

public class Person
{
    public void Speak() // 实例方法
    {
        Console.WriteLine("Hello!");
    }

    public static void ShowPopulation() // 静态方法
    {
        Console.WriteLine("Population: " + Population);
    }
}

4. 构造函数(Constructors)
构造函数是用于创建类的实例并初始化其状态的方法。构造函数的名称与类名相同,并且没有返回类型。

public class Person
{
    public string Name;

    public Person(string name) // 构造函数
    {
        Name = name;
    }
}

5. 事件(Events)
事件是类中的一种成员,用于提供通知机制。事件通常与委托一起使用。

public class Alarm
{
    public event EventHandler AlarmRang;

    public void Ring()
    {
        if (AlarmRang != null)
        {
            AlarmRang(this, EventArgs.Empty);
        }
    }
}

6. 索引器(Indexers)
索引器允许对象像数组一样使用索引来访问其内部数据。

public class Team
{
    private List<string> members = new List<string>();

    public string this[int index]
    {
        get { return members[index]; }
        set { members[index] = value; }
    }
}

7. 嵌套类型(Nested Types)
类、结构、枚举或接口可以嵌套在另一个类中。

public class OuterClass
{
    public class NestedClass
    {
        public void NestedMethod()
        {
            Console.WriteLine("Nested method");
        }
    }
}

成员的访问修饰符

成员的访问级别可以通过访问修饰符来控制:

public:公开访问,不受限制。类或成员可以从任何地方访问,包括其他文件、程序集甚至是外部应用程序。
private:私有访问,只能在类内部访问。类不能声明为私有的;它总是对整个程序公开的。
protected:受保护访问,可以在类内部和派生类中访问。
internal:内部访问,只能在同一程序集内访问。
protected internal:受保护的内部访问,可以在同一程序集内或派生类中访问。
private protected:私有的受保护访问,只能在类内部和同一程序集的派生类中访问。

posted on 2024-07-26 09:30  Cat-Lon  阅读(11)  评论(0编辑  收藏  举报

导航