C#学习之语法

最近学了C#,以前在单位用的是c/c++.由于客户的程序是C#写的,所以顺便学习了一下。

从这次的程序中学到的东西:

   对面向对象编程的概念有了更深入的了解,以前在单位都是api/win32编程,很少用到面向对象的编程,一般都是面向过程编程.

  我记得的几个关键字:

    1.封装 
       
封装就是数据数据的集合,体现在结构或者类里面

        封装可以隐藏实现细节,使得代码模块化.

    2.继承

       主要目的是为了便于移植程序以及使整个程序更加清楚.

       扩展已存在的代码类,使得代码可以重新使用。

    3.多态

      多重形态,一般指子类继承父类时现实出不同的形态.

      子类和可以重写父类中的虚函数。

      多态是为了接口重新使用。

      1.早绑定

         就是重载的时候函数名称和地址早已由编译器搞定  类似

         str_func  和int_func  虽然表面上两个函数的名称相同,但参数一个是int,一个是string.

        其实对于编译器来说两个函数名称是不同的。函数的绑定在编译期间确定。

       2.晚绑定

        晚绑定其实就是指对于编译器来说名称是相同的,因为覆盖/重写的时候不仅函数的名称相同,

      而且连函数的参数也相同。唯一不同的就是函数的内容。

    4.重载/覆盖(重写)

       重载和覆盖最大差别是参数不同(个数,顺序,类型),

      覆盖即重写,是针对于函数内容来说的,其它方面均不能改变。只是函数的内容变了。

     重载的不仅函数内容改变了,连函数参数也变化了。

     两者的相同之处就是函数的名称相同!

    5.虚函数

     在基类/父类里面被声明,在子类中被重新定义的成员函数。

     virtual  void funA(){};

     * 必须是非静态函数

    使用的时候: 基类 CBase  cb,   CCh1 cc1,  CCh2 cc2
      cb=cc1;

     cb=cc2;

    基类指针指向派生类指针能够访问在派生类中被重新定义的虚函数。

    纯虚函数:





   6:this 指针

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值