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

C#面向对象编程

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

    2017-04-10

  • string,Dog 逗号
    查看全部
    0 采集 收起 来源:集合(下)

    2017-04-10

  • 泛型定义
    查看全部
    0 采集 收起 来源:泛型方法

    2017-04-10

  • 泛型方法
    查看全部
    0 采集 收起 来源:泛型方法

    2017-04-10

  • 静态类和静态成员 1、类的静态成员 成员被标记为static时,就是静态成员。静态成员将会被类的所有势力共享,所有实例都访问统一内存位置。 静态成员跟实例成员分开存放。静态成员存放在堆中。 2、静态成员访问 直接通过类名访问,普通成员需要通过实例访问。 3、静态成员声明周期 独立任何实例,没有实例也可以访问。静态成员使用之前编译器已经帮忙完成初始化。 4、静态函数不能访问实例成员,仅能访问其他静态成员,普通方法可以访问静态成员 5、静态构造函数 用于初始化静态字段 在引用任何静态成员之前,和创建任何实例之前调用。 与类同名,使用static,无参数,没有访问修饰符,普通构造函数可以重载的
    查看全部
    1 采集 收起 来源:静态成员

    2017-04-10

  • 结构和类 1、不同点 结构是值类型(在栈中),类是引用类型(在堆中) 结构不支持继承,类支持继承 结构不定义默认构造函数,编译器会定义 2、使用场合 结构由于分配内存块,作用域借书即被删除。不需要垃圾回收,用于小型数据结构,传递过程会复制,应该用ref提高效率。 类用于其他需要继承体系的场合。 例如:定义食物是一个不需要长期存储的数据类型,吃完就没有了,所以可以定义一个食物struct
    查看全部
    1 采集 收起 来源:结构和类

    2017-04-17

  • 接口 1、接口就是制定一组函数成员,而不实现他们的引用类型,用interface声明。接口函数不能用其他访问修饰符修饰,默认为public。 2、接口用来被实现 例如Cat:ICatchMice{ //实现接口函数 } 3、一个类可以实现多个接口,当一个类同时继承基类和实现接口时,应该将基类写在最前面,用逗号隔开 4、一个类实现接口时,必须实现接口声明的函数。 5、可以通过接口引用调用接口中的方法,也可通过实例调用接口方法。例子 爬树为一个接口,抓老鼠为一个接口,当猫这个类实现这两个接口时, Cat c=new Cat("tom"); 爬树 ci=(爬树)c; c.pashu();//通过实例调用接口方法 ci.pashu();//通过接口引用调用接口方法
    查看全部
    4 采集 收起 来源:接口

    2018-03-22

  • 密闭类和密闭方法 1、密闭类:有些类不希望其他人通过继承来修改,禁止产生派生类。 密闭方法;禁止他人重写该方法。 2、用sealed修饰类就是密闭类,修饰方法就是密闭方法 3、若派生类中的重写方法(用override修饰的方法)不想再被重写,则可以同时用override和sealed进行修饰。
    查看全部
    1 采集 收起 来源:密闭类

    2017-04-10

  • 1、抽象方法 在方法声明前加abstract,抽象方法不能有实际的函数体,抽象方法必须在派生类中重写,才能调用。虚方法在派生类中可以不重写,调用时就是调用的是基类中的方法。 2、抽象类 一个类中含有抽象方法就是抽象类 抽象类中可以含有普通方法可以包含抽象成员、普通成员、抽象方法和普通方法 抽象类不能实例化 抽象类的存在只有一个目的就是被继承。 抽象类的抽象成员必须在派生类中用override关键字实现,否则不能实例化
    查看全部
  • 1、派生类对象中,有一部分是基类部分,在执行派生类的构造函数之前,将会隐式或者显示调用基类构造函数,也就说肯定会调用基类构造函数的。 2、调用顺序 实例成员初始化->基类构造函数->派生类的构造方法 3、调用基类构造函数:隐式调用和显示调用 //隐式调用 class MyDerived:MyBase{ MyDerived(){ ... } } //显示调用 class MyDerived:MyBase{ MyDerived():base() { ... } } 4、调用当前类的其他构造函数 例如;Pet(int age,string name):this(name){...} //调用进行公共初始化的函数 Pet(string name){...} //构造函数重载 5、对于基类中的字段最好在基类中完成初始化
    查看全部
    0 采集 收起 来源:构造函数

    2018-03-22

  • 1、关于虚方法和多态 (1)重写虚方法必须具有相同的可访问性,并且基类 方法不能是private (2)不能重写static方法或者非虚方法 (3)方法、属性、索引器、事件,都可以声明为virtual或者override 2、虚方法和多态 (1)虚方法:声明为virtual的方法就是虚方法。基类的虚方法可以在派生类中使用override进行重写 (2)多态:通过指向派生类的基类引用,调用虚函数,会根据引用所用所指向派生类的实际类型,调用派生类中的同名重写函数,便是多态。多态是一种过程。 注意:通过基类引用建立统一关系;通过同名重写函数派生类的个性得以张扬。
    查看全部
    0 采集 收起 来源:虚方法和多态

    2017-04-09

  • 事件的声明
    查看全部
    0 采集 收起 来源:事件

    2017-04-09

  • 虚方法和多态 面向对象编程中,,都遵循一个原则:依赖倒置原则。就是程序设计要依赖抽象类(pet),而不依赖于具体类(dog)。 基类的引用 可以通过一个基类类型的引用调用指向派生类,通过指向派生类的基类引用,只能访问派生类中的基类部分。例如 namespace Program{ class Pet { public string name; public void PrintName() { Console.Write("Pet's name is"+name); } class Dog { new public void PrintName() { Console.Write("宠物的名字是"+name); } class Cat { } //当使用基类引用时,运行结果为“Pet's name is JACK;Pet's name is TOM” public static void Main(string[] args) { Pet dog=new Dog(); dog.name="JACK"; dog.PrintName(); Pet cat=new Cat(); cat.name="TOM"; cat.PrintName(); } //当时用派生类引用时,运行结果为“宠物的名称为JACK;Pet's name is TOM” /*public static void Main(string[] args) *{ *Dog dog=new Dog(); *dog.name="JACK"; *dog.PrintName(); *Pet cat=new Cat(); *cat.name="TOM"; *cat.PrintName(); }*/ }
    查看全部
    0 采集 收起 来源:虚方法和多态

    2018-03-22

  • 1、通过在派生类中定义同名变量隐藏基类中的成员——隐藏方法 2、语法细节 屏蔽数据成员:在派生类中声明名称和类型相同的成员。 屏蔽函数成员:在派生类中声明新的带有相同函数签名的成员(注意:并不包括返回类型相同) 让编译器知道:可以添加new关键字,否则会有报警。
    查看全部
    0 采集 收起 来源:隐藏方法

    2017-04-09

  • 定义List<>list=new List<>();
    查看全部
    0 采集 收起 来源:集合(上)

    2018-03-22

举报

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

微信扫码,参与3人拼团

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

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