猿教程 Logo

C#类

一个类就像一种特定对象的蓝图。 在现实世界中,每个事物可以称为一个对象,每个对象都有一些颜色,形状和功能。 例如,豪华车法拉利, 法拉利是豪华车类型的一个对象。 豪华车是一个类,指定某些特征比如速度、颜色、形状等。所以任何满足这些需求的车是豪华车类型的一个对象。 例如,每一个宝马、兰博基尼、凯迪拉克类的一个对象被称为“豪华车”。 这里,“豪华车”是一个类,每一个物理车是豪华车类的一个对象。

同样,在面向对象编程中,一个类定义了特定的属性、字段、事件、方法等。一个类定义了对象拥有的的各种数据和功能。

类允许您通过将其他类型的变量、方法和事件组合在一起来创建自己的自定义类型。

在c#中,一个类可以通过使用Class关键字来定义。

以下是定义一个类的示例:

public class MyClass
{
    public string  myField = string.Empty;
    public MyClass()
    {
    }
    public void MyMethod(int parameter1, string parameter2)
    {
        Console.WriteLine("First Parameter {0}, second parameter {1}", 
                                                    parameter1, parameter2);
    }
    public int MyAutoImplementedProperty { get; set; }
    private int myPropertyVar;
    
    public int MyProperty
    {
        get { return myPropertyVar; }
        set { myPropertyVar = value; }
    } 
}

下面的图片显示了c#类的重要组成部分。



访问修饰符

访问修饰符应用于类,方法,属性,字段和其他成员的声明。 它们定义类及其成员的可访问性。 public,private,protected和internal是C#中的访问修饰符。 我们将在后续的关键字教程部分了解它。


字段

字段是一个类级别变量,可以容纳一个值。 一般来说,字段成员应该具有私有访问修饰符并与属性一起使用。


构造函数

类可以具有参数化或参数较少的构造函数。 在创建类的实例时,将调用构造函数。 可以使用访问修饰符和类名来定义构造函数:<access modifiers> <class name>(){}

class MyClass
{
    public MyClass()
    {
    }
}

方法

可以使用以下模板定义方法:

{access modifier} {return type} MethodName({parameterType parameterName})

方法案例:

public void MyMethod(int parameter1, string parameter2)
{
    // write your method code here..
}

属性

可以使用getters和setter来定义属性,如下所示:

示例:C#属性

private int _myPropertyVar;
public int MyProperty
{
    get {return _myPropertyVar; }}
    set {_myPropertyVar = value; }}
}}

属性封装了一个私有字段。 它提供getter(get {})来检索基础字段的值,setters(set {})来设置基础字段的值。 在上面的示例中,_myPropertyVar是不能直接访问的专用字段。 它只能通过MyProperty访问。 因此,MyProperty封装了_myPropertyVar。

您还可以在get和set中应用一些加法逻辑,如下面的示例所示。

private int _myPropertyVar;
public int MyProperty
{
    get {
        return _myPropertyVar / 2;
    }
    set {
        if (value > 100)
            _myPropertyVar = 100;
        else
            _myPropertyVar = value; ;
    }
}

自动属性

从C#3.0起,如果你不想在get或set中应用一些逻辑,属性声明将变得很容易。

以下是自动实现的属性的示例:

示例:C#自动属性

public int MyAutoImplementedProperty {get; set; }

请注意,在上述属性示例中没有私有备份字段。 支持字段将由编译器自动创建。 您可以使用类的正常属性一样使用自动化属性。 自动实现属性只是为了当属性访问器中不需要额外的逻辑时使声明属性变得更加容易。


命名空间

命名空间是一组相关类和命名空间的容器。 命名空间还用于为命名空间名称中的类提供唯一的名称。 命名空间和类使用点(.)表示。

在C#中,命名空间可以使用namespace关键字定义。

namespace CSharpTutorials
{
    class MyClass
    {
    }
}

在上面的例子中,MyClass的完全限定类名是CSharpTutorials.MyClass。

命名空间可以包含其他命名空间。 内部命名空间可以使用(.)分隔。

命名空间实例:

namespace CSharpTutorials.Examples
{
    class MyClassExample
    {
    }
}

在上面的例子中,MyClassExample的完全限定类名是CSharpTutorials.Example.MyClassExample

记住要点:
  • C#类定义属性,字段,事件,方法等。对象是类的一个实例。

  • 访问修饰符定义类的可访问性。 public, private, protected 或 internal。

  • 命名空间可以包括一个或多个类。


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/CSharp/csharp-class.html