C# 类

类简介

主要包括数据和函数成员

数据成员是类的数据,包括字段,常量和事件,其中有静态成员,也可以包含类成员。

函数成员包括方法属性构造函数析构函数运算符重载索引器(用于数组和集合)


类属性

类属性在对外看来像是类的一个数据成员,但是属性会有一对函数或者叫属性访问器来面向外界,

接下来说明一下属性之所以存在的原因:

//当有一个私有变量需要对外送出接口时,一般这样写
private int id;

int Get_Id(){
    return id;
}

void Set_Id(int Id){
    id = Id;
}

//当引入属性语法,则可以这样写

private int id; //1、属性的后备变量

public  int Id{

    get{ //2、get 访问器
        return id;
    }
    set{ //3、set 访问器
        id = value;
    }

}

//如果只是简单的操作可以这样简写,这样代码就更整洁简练了
public int Id{get; set;}
//如果访问器有更复杂的逻辑,则还是要展开写。
//除此之外 get 和 set 访问器可以设置为不同的访问属性,比如属性只读时 可以 
写 private set就行或者不写也行,但是 public 属性要必须要对一个访问器生效

类方法

创建类方法

public int fun(int a, int b[]);

参量传递

数组和引用变量是引用传递,值变量需要引用传递需要加上 ref 前缀 

比如

public int fun(int a, int b[]); //a 是值传递 b是引用传递

public int fun(ref int a, int b[]); //a 和 b都是引用传递

调用时  fun(ref a,b);//调用时也要加ref 关键词

当搞不清顺序时的传参

fun (b: m, a:n); //b 是方法定义时的参数名,m是传入的参数

当参数存在默认值时

定义 public int fun( int b[],int a=1);

不修改默认值则可以 fun(m);// a默认值

要修改默认值时  fun(m,n); //a不再是默认值

重载,当需要的参数,数量,类型,位置不一样时

可以重载。

返回值,修饰符不一样不可以重载,需要改变函数名

 

构造函数

公有构造函数 在执行 new 方法时调用,每创建一个类实例,调用一次。

public Class_A();

私有构造 private 或者 protect, 不能执行 new 方法,不能用来创建类实例

private Class_B();

静态构造 不能执行 new 方法,只用来初始化静态字段,在程序中类出现时进行调用一次,以后不再调用

static Class_C();

多个构造函数时的相互调用

public Class_a( int m):this(m,n){  //执行顺序是 先this(m,n)

}

只读字段 readonly

只在构造函数中赋值一次,如果是静态(static)只读字段,则要在静态构造函数中初始化,如果不是则在共有构造函数中初始化

 

析构函数(终结器)

用来释放动态分配的内存空间

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值