为了账号安全,请及时绑定邮箱和手机立即绑定

C#面向对象编程

kong66 全栈工程师
难度入门
时长 3小时17分
学习人数
综合评分9.47
105人评价 查看评价
9.7 内容实用
9.2 简洁易懂
9.5 逻辑清晰
  • 查看全部
    0 采集 收起 来源:静态类

    2018-06-23

  • 。。
    查看全部
  • 抽象方法比虚方法更虚
    查看全部
  • 对象具有属性和行为
    查看全部
    0 采集 收起 来源:课程介绍

    2018-06-22

  • 面向对象编程特点:封装,继承,多态,对象和属性
    查看全部
    1 采集 收起 来源:课程介绍

    2018-06-22

  • 继承中的特殊基类:

        Object类是所有类的共同基类(父类),它是唯一的非派生类,是集成层次结构的基础。对于其他父类,父类和子类的概率都是相对的。

    查看全部
    0 采集 收起 来源:继承

    2018-06-18

    1. 重载运算符:利用现有的某种运算符,针对自定义类或结构,定义某种运算操作;

    2. 作用:简化自定义类型的操作。最好该运算符和相应的操作具有一定的相关性;

    3. 语法:public static Dog(返回值) operator+(重载加法运算符)(Dog male,Dog female)(左右操作数)

      {

        ...

        return new Dog();

      }

    4. 不可重载的运算符:=,&&,||,[],()等;其中一元运算符(如++)操作数必须是类或结构;二元运算符(如&)两个操作数至少有一个是类或结构;

    查看全部
    0 采集 收起 来源:重载运算符

    2018-06-18

    1. 装箱:根据值类型的值,在堆上创建一个完整的引用类型对象,并返回对象的引用,是一种隐式转换;

    2. 装箱的原因:将值类型转化为引用类型来进行统一的操作和存储;eg. int i=3; object oi=null;//对象的引用,引用值为空   oi=i;

    3. 装箱本质:在堆上创建了引用类型的副本;新创建的引用类型和原来的值类型相互独立;

    4. 拆箱:将装箱后的对象转换回值类型的过程,是一种显示转换(即需要手动操作);eg. int i=3; object oi=i;//装箱  int j=(int)Oi;//拆箱

    查看全部
    0 采集 收起 来源:装箱和拆箱

    2018-06-18

    1. 静态类:只包含静态方法和属性,且被标识为static;特点:静态类不能被创建实例,不能被继承;可为静态类定义一个静态构造函数;

    2. 作用:用于基础类库(如数学库)和扩展方法;

    3. 无法添加新方法、不可派生子类进行扩展,则可使用静态类扩展方法;

    4. 静态类扩展方法要求:扩展方法为static方法,扩展方法所属的类必须是静态类;扩展方法的第一个参数类型,必须为this+类名;eg. static class PetGuide{public static double HowToFeed(this Dog dog{...})}.

    查看全部
    0 采集 收起 来源:静态类

    2018-06-18

    1. 静态成员将被类的所有实例共享,所有的实例都访问同一内存位置;

    2. 访问静态成员:直接通过类名进行访问。eg.Dog.Num+1;

    3. 生存周期:独立于任何实例,没有实例也可以访问。其初始化实例在任何静态成员使用之前调用。

    4. 静态函数成员:独立于任何实例,没有实例也可调用;静态函数不能访问实例成员,仅能访问其他静态成员。

    5. 静态构造函数:作用:初始化静态字段;特点:与类同名;使用static关键字,无参数。无修饰符;eg.  class Dog{static Dog(){num=0;}}

    查看全部
    0 采集 收起 来源:静态成员

    2018-06-18

  •       关于堆和栈内存:

          栈内存:栈内存首先是一片内存区域,存储的都是局部变量,凡是定义在方法中的都是局部变量(方法外的是全局变量),for循环内部定义的也是局部变量,是先加载函数才能进行局部变量的定义,所以方法先进栈,然后再定义变量,变量有自己的作用域,一旦离开作用域,变量就会被释放。栈内存的更新速度很快,因为局部变量的生命周期都很短。

           堆内存:存储的是数组和对象(其实数组就是对象),凡是new建立的都是在堆中,堆中存放的都是实体(对象),实体用于封装数据,而且是封装多个(实体的多个属性),如果一个数据消失,这个实体也没有消失,还可以用,所以堆是不会随时释放的,但是栈不一样,栈里存放的都是单个变量,变量被释放了,那就没有了。堆里的实体虽然不会被释放,但是会被当成垃圾,Java有垃圾回收机制不定时的收取。


    查看全部
    1 采集 收起 来源:结构和类

    2018-06-16

  • 实现多个接口:(顺序:基类在前)

    eg.

        Cat: 基类,接口1,接口2...

    {


    }

       

    查看全部
    0 采集 收起 来源:接口

    2018-06-16

    1. 接口:指定一组函数成员,而不实现他们的引用类型;关键字:interface;

      eg.interface ICatchMice

      {

        void CatchMice();//函数成员  默认public 但不可加任何访问修饰符

      }

    2. 接口的用法:

      只能被用来实现。eg:

      Cat: ICatchMice

      {

        public void CatchMice(){...};//实现该接口的函数成员,public关键字需加上

      }

    3. 接口也是一种引用类型;通过接口调用,则只能调用接口所规定的那组函数;

      eg. Cat c=new Cat();//创建一个Cat类型的对象c

            ICatchMice ic=(ICatchMice)c;//创建一个接口类型ic,并赋值为

      c的ICatchMice接口强制转换类型(Cat有实现该接口类型)

           ic.CatchMice();//通过接口调用

    查看全部
    0 采集 收起 来源:接口

    2018-06-16

  • 数组内实例化

    查看全部
    0 采集 收起 来源:虚方法和多态

    2018-06-15

  • protected 关键字是一个成员访问修饰符。 受保护成员在其所在的类中可由派生类实例访问。

    查看全部
    1 采集 收起 来源:构造函数

    2018-06-11

举报

0/150
提交
取消
课程须知
1、需要掌握c#基础语法和基本概念 2、建议听课和写代码实践相结合,更好的掌握知识点
老师告诉你能学到什么?
1、通过学习继承和多态,构建对象的森林,减少重复代码 2、学习静态成员静态类,实现对象间的共享资源和扩展非派生类 3、学习接口,可以跨类型地实现对象的统一管理 4、学习操作符重载,大大简化我们自定义对象的相关操作 5、学习泛型,极大地降低了开发的工作量

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!