• c# 类成员的定义 定义方法、字段和属性【转】


    c# 类成员的定义 定义方法、字段和属性
    c#类的成员包括字段、属性和方法。所有成员都有自己的访问级别,用下面的关键字之一来定义:
    public----成员可以有任何代码访问;
    private----成员只能有类中的代码访问(如果没有使用任何关键字,默认使用这个关键字);
    internal----成员有定义他的项目(程序集)内部的代码访问;
    protected----成员只能由类或派生类的代码访问。
    后两个关键字可以合并
    protected internal----他们只能由项目(程序集)中的派生代码来访问。

    1.定义字段:
    字段用标准的变量声明格式和前面介绍的修饰符来声明(也可以初始化),例如: 
    class myClass
    {
    public int MyInt;
    }

    公共字段推荐用PascalCasing的形式来命名,私有字段没有推荐的命名形式,一般使用camelCasing的形式来命名。
    字段可以使用关键字readonly,表示这个字段只能在执行构造函数的过程中赋值,或由初始化语句赋值,例如: 
    class myClass
    {
    public readonly int MyInt=17;
    }
    字段也可以使用static声明为静态的: 
    class myClass
    {
    public static int MyInt;
    }

    2.定义方法:

    方法使用标准的函数格式,以及可访问性,和可选的static修饰符来声明,例如: 
    class myClass
    {
    public string MyString()
    {
    return “这是一个方法”;
    }
    }
    解析: 
    class myClass
    {
    //开始声明方法代码
    public string MyString()
    {
    return “这是一个方法”;
    }
    //结束声明方法代码
    }

    公共方法也用PascalCasing的形式来命名。
    注意:如果声明了static关键字,这个方法就只能通过类来访问,而不能通过对象实例还访问。
    也可以在方法定义中使用下面的关键字:
    virtual----方法可以重写;
    abstract----方法必须在非抽象的派生类中重写(只用于抽象类);
    override----方法重写了一个基类方法(要重写方法,必须用这个关键字);
    extern----方法定义在其他地方;

    3.定义属性

    属性定义与地段类似,但内容比较多。属性有两个类似于函数的块,一个用于获取属性的值,一个用于设置属性的值,例子: 
    class myClass
    {
    private int myInt;//字段
    //(下面为属性)
    public int MyInt
    {
    get 
    {
    return myInt;
    }
    set 
    {
    myInt=value;
    }
    }
    }

    get 块一般有一个属性类型的返回值,简单的属性一般与一个私有字段相关联,用来控制对这个字段的访问,这是get块可以直接返回该字段的值;
    上面的myInt字段外部不能访问,只能通过属性来访问该字段。

    set函数以类似的方式把一个值赋给字段,这里可以使用关键字value引用用户提供的属性值;value值等于类型和属性相同的一个值,如果属性的类型和字段的类型相同,就不用进行类型转换。

    属性可以使用vartual、override和abstract关键字,但是不能将这几个关键字用于字段。

  • 相关阅读:
    5.7
    人月神话阅读笔记1
    python汉诺塔问题的递归理解
    用python进行有进度条的圆周率计算
    使用Python+turtle绘制同心圆
    less.modifyVars方法切换主题样例
    npm简单插件开发流程
    Mac中执行yarn global add @vue/cli 成功后,执行vue --version 提示zsh: command not found: vue 解决方法
    执行yarn deploy打包,报内存溢出的错误解决办法
    为首屏增加加载动画
  • 原文地址:https://www.cnblogs.com/gates/p/3549064.html
Copyright © 2020-2023  润新知