.NTE 基础 之对象

-----对象  类

类 : 数据成员 + 函数成员

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

常量:修饰词  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;


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

见代码

//定义类 
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);




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

架构师影响力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值