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

C#面向对象编程

kong66 全栈工程师
难度入门
时长 3小时17分
学习人数
综合评分9.47
105人评价 查看评价
9.7 内容实用
9.2 简洁易懂
9.5 逻辑清晰
  • 刚看第一遍的时候乱的很,反复看了三四次,耗费了三四个小时也不明白,后来自己不用泛型,使用普通类去实现相同功能,才明白泛型怎么用 和目的;老师的一些与之前不同的写法也增加了理解难度。比如不写Petcage<Dog> dog=new Petcage<Dog> ("名字");而用一个从来没见过的 var代替。 还有 return default<T>也没解释啥意思; 说下我的理解: 泛型就是在不确定类的 参数类型和返回类型时,设置一个变量来代替这个固定的类型。 当创建类实例时,在给这个变量赋对应类类型值,这样就可以实现一个类,输出不同类型的值和方法; 不用老师的例子,用一个给数组赋值输出数组的例子更好理解;比如设置一个类,构造函数初始化一个数组,数组类型为int,有给数组赋值方法和获取数组值的方法,在此注意:数组的类型int和获取数组值的方法的返回值类型都为int,如果实例此类调用方法,实参和返回值类型也必须是int;就此限定死了此类的实例; 如果想要一个设置char类型的实例,还得必须创建一个新的char的类和方法,才能实现;这样代码工作量就会很大;如果使用泛型,用变量<T>代替固定类型int或char,这样在实例化的时候,将T赋不同类型(int、double、char),这样就可以获得想要的返回值类型,从而实现了一个模板,只变一个参数T 就能实现相同的功能; 上面给出的例子。只需要把所有<T>去掉,后面的T全改为int或char 就能变为普通类了。对比理解非常简单了
    查看全部
    11 采集 收起 来源:泛型类

    2018-03-22

  • new:实例化对象;覆盖的时候在方法前加new防止报错(隐藏方法) override:当用基类创建一个子类对象时,如果你要用到子类中的方法,就必须在基类中定义一个虚方法,然后在子类中用override重写这个方法,否则会报错,因为基类中不存在这个方法也就找不到子类中的方法。如果用子类创建一个对象时,则不用写虚方法。
    查看全部
    0 采集 收起 来源:虚方法和多态

    2017-04-13

  • 静态成员相当于类里面任何位置的方法都可调用;相当于创建了一个公共内容
    查看全部
    0 采集 收起 来源:静态成员

    2017-04-13

  • 我理解的接口就是 一个在继承类里必填方法的限制;某个类继承了一个接口,就必须拥有接口说明的方法;在此点上与抽象方法一致;区别就是接口不包含抽象类的值、属性等。接口只能有一个空方法,此方法只能用来被继承类实现。 接口就是简化的抽象类
    查看全部
    0 采集 收起 来源:接口

    2017-04-13

  • 我理解的抽象类、抽象方法 和虚方法 在目的上的区别是,基类虚方法如果为空,那么同样可实现不出现统一的调用内容,其派生类内可不存在overide重写的方法。而继承含抽象方法的抽象类时,派生类内必须存在抽象方法的重写方法,不存在就会报错;本质区别就在于派生类内的重写方法 是必填还是非必填 ;(老师讲课太虚了,敢不敢实一点)
    查看全部
  • 1.构造函数: 即使用与类同名的参数作为方法名;注意:构造函数无返回值类型 2.目的: 实例化对象时能同时调用同名函数,使代码更简洁; 3.带参数的构造函数:构造函数存在形参(public jiaosheng(string name)),这样初始化实例是同时可以调用此方法,并且把name的实参赋给方法; 4.若带的参数为基类内的公有参数,为了统一,将基类创建同样的构造函数。初始化派生类的实例时,需将实参赋值给基类的构造函数:Pet(基类) Dogs派生类;派生类内构造函数后需加上:base(形参); 如:jiaosheng(string name):base(name) 5.调用构造函数顺序 实例成员初始化->基类构造函数->派生类的构造方法
    查看全部
    0 采集 收起 来源:构造函数

    2018-03-22

  • 虚方法关键字virtual(基类内修饰) override(派生类内修饰) 目的:不同派生类内同样的属性(比如宠物叫声),为了统一调用而又能实现个性化,会调用基类的方法(基类的引用指向派生类实例Pet dogs=new Dogs()) 调用共有方法如jiaosheng()时,如果基类与派生类存在同名方法,并且基类内未虚方法vitual,派生类内有重写override方法,则调用重写方法; 与隐藏方法的区别。隐藏方法是派生类的引用指向派生类对象。 因为共有属性为了统一保存,统一为基类的引用更加简洁 能用虚方法的内容:方法,属性,索引器,事件
    查看全部
    0 采集 收起 来源:虚方法和多态

    2017-04-13

  • 覆盖基类方法(隐藏父类方法,调用派生类方法,显示个性化),派生类中写同名方法 前面加new,然后派生类引用指向派生类对象时,会引用同名的但带new的新方法 如父类Pet 内有一个print()方法,子类Dog想在调用pint()方法是显示个性内容,需创建新的print()方法,新的同名方法前面需加上new; Dog dog=new Dog()的实例调用print()方法时,会按照new的执行
    查看全部
    0 采集 收起 来源:隐藏方法

    2017-04-13

  • 队列的运用,队列跟栈类似,不过是先进先出,后进后出 Enqueue Dequeue
    查看全部
    0 采集 收起 来源:集合(下)

    2017-04-11

  • 栈(是一个泛型的类)的运用,先进后出,后进先出。类似一端开头的羽毛球筒 Push Pop Peek
    查看全部
    0 采集 收起 来源:集合(下)

    2017-04-11

  • 字典运用
    查看全部
    0 采集 收起 来源:集合(下)

    2017-04-11

  • 集合运用
    查看全部
    0 采集 收起 来源:集合(上)

    2017-04-11

  • 面向对象编程的特点:封装、继承、多态
    查看全部
    0 采集 收起 来源:课程介绍

    2017-04-11

  • Lambda表达式
    查看全部
    0 采集 收起 来源:Lambda表达式

    2017-04-10

  • 匿名方法定义方式 del=delegate(){.....}; (参数列表){方法体}
    查看全部
    0 采集 收起 来源:Lambda表达式

    2017-04-10

举报

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

微信扫码,参与3人拼团

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

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