zoukankan      html  css  js  c++  java
  • 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关键字,但是不能将这几个关键字用于字段。定义属性还有一个比较快捷的方法,就是选中代码中的字段,点右键选择:重构,然后再选择:封装字段,就可以快速的建立属性。之后字段的属性就有public(公共)变为private(私有)

  • 相关阅读:
    light oj 1105 规律
    light oj 1071 dp(吃金币升级版)
    light oj 1084 线性dp
    light oj 1079 01背包
    light oj 1068 数位dp
    light oj 1219 树上贪心
    light oj 1057 状压dp TSP
    light oj 1037 状压dp
    矩阵快速幂3 k*n铺方格
    矩阵快速幂2 3*n铺方格
  • 原文地址:https://www.cnblogs.com/axyz/p/1828099.html
Copyright © 2011-2022 走看看