您的位置:首页 > 其它

.NTE 基础 之对象

2014-03-26 14:41 295 查看

-----对象  类

类 : 数据成员 + 函数成员

数据成员:字段+常量+事件成员

常量:修饰词  const   : public  const  string a = "hello"  ;

函数成员:方法 + 属性 + 构造函数+终结器(finalize) + 运算符 + 索引器

     方法:给方法传递参数: 按值传递   +  按引用传递

  按引用传递   有关键词   ref   和 out 

ref 要求对传递给方法的的参数 初始化, out 则不必

int a;
aa(ref a);  // 编译时报错,提示a 没初始化

public static void aa(ref int i)
{
i++;
}

int a;
aa(out a);

public static void aa(out int i)
{
i = 0;
i++;
}


     

方法的重载:相同函数名,不同的参数个数 或类型  (如构造函数)


属性:

一般的属性申明:

private int age;

public int Age
{
get { return age; }
set { age = value; }
}
 ====》如果没有任何逻辑 可自动实现属性 等价于    public int Age { get; set; }



构造函数:

静态构造函数:只会执行一次,类加载的时候执行,普通构造函数,实例化的时候就会执行

只读字段 :

于 const 区别 : 不用一开始就初始化,可以再构造函数中赋值,其他地方不可以


匿名类: 

var preson = new { FirstName = "zhang", LastName = "cheng", age = 33 };

结构 :

结构不允许定义无参构造函数,因为系统自动实现,所以不能再 定义结构成员变量时初始化

        结构申明方式 类似于类   aa a = new aa() 也可 aa a;[/code]


扩展方法: 不能改变源码,而增加源码中的方法

见代码

//定义类
class CC
{
int c;

public int C
{
get { return c; }
set { c = value; }
}

public void add()
{
this.C--;
}
}

//定义静态类
static class CcE
{
public static void decue(this CC c, int i)    //这变的两个参数第一个为 要增加的原始类
{
c.C--;
}
}
//调用方法中
CC C = new CC();
C.C = 10;
C.decue(1);




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: