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

C#面向对象编程

kong66 全栈工程师
难度入门
时长 3小时17分
学习人数
综合评分9.47
105人评价 查看评价
9.7 内容实用
9.2 简洁易懂
9.5 逻辑清晰
  • static扩展方法的方法,看图

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

    2018-11-16

  • static的作用是初始化

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

    2018-11-16

  • sealed  override

    查看全部
    0 采集 收起 来源:密闭类

    2018-11-16

  • java  final修饰= C# sealed

    查看全部
    1 采集 收起 来源:密闭类

    2018-11-16

  • 这节课不太明白

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

    2018-11-16

  • pubilc static--静态方法 implicit--隐式 operator--转换

    pubilc static--静态方法 explicit--显式 operator--转

    查看全部
    0 采集 收起 来源:自定义转换

    2018-12-15

  • 自定义转换:

    为自己的结构或者定义显式和隐式装换

    为了让我们自己的结构或者类可以变成一个预期相关的类型,并且让这种转换变的更加简单

    隐式转化语法:

    public static implicit operator Dog(Cat cat)//将猫咪的类转换为狗狗的类,

    为猫咪的类定义一个静态的方法

    {

    }

    实现隐式转换至少是定义了一个静态的方法,所以是public static,这两个必不可少

    如果是隐式转换就使用implicit

    并且使用operator关键字标明这是一种转换操作

    显式转换语法:

    public static explicit operator Dog(Cat cat)

    {

    }

    显式转换语法用的是explicit

    和隐式转换的不同是显式转换调用时需要加一个括号,括号中放一个转换的目标类型

    查看全部
    0 采集 收起 来源:自定义转换

    2018-11-16

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

    就是将值类型转换为引用类型

    有时候需要将值类型转化为引用类型来进行统一的操作和统一的存储

    装箱示例:

    int i=3;//这个是int类型的值类型,值为3

    object oi=null;//这个是object的引用,赋值为空

    oi=i;//将 i的值3赋值给 oi 的过程就是装箱

    这样输出 i 和oi,输出的都是3

    只有写了oi=i;输出的值才会相同

    其它时候 i 就是 i 的值,oi就是oi的值

    装箱本质:

    在堆上创建了引用类型的副本新创建用类型和原来的值类型相互独立

    拆箱:

    将装箱后的对象转换回值类型的过程,是一种显示转换

    int i=3

    object oi=i;

    int j=(int)oi;//把oi这个引用类型的对象通过一个强制的显示转换(int),转换为

    我们想要的值类型

    输出 j 的值就为3

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

    2018-11-16

  • 静态类:类只包含了静态的方法和属性,并且标识为static,静态类不能创建实例不能被继承可以为它定义一个静态构造函数

    主要用于基础类库和扩展方法

    静态类扩展方法

    static class PetGuide

    {

    public static double HowToFeed(this Dog dog)

    {扩展给狗狗喂食的方法
    }

    }

    使用时:

    Dog dog=new Dog();

    dog.HowToFeed();//直接调用扩展的这个方法

    扩展方法所属的类必须是static类

    扩展方法本身必须是static方法

    扩展方法的第一个参数类型,必须是this+类名

    public static double HowToFeed(this Dog dog)

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

    2018-11-15

  • 静态成员:标识为static的字段,方法,属性,构造函数,事件

    class Dog

    {

    static int Num;

    }

    静态成员将被类的所有实例共享

    静态成员将直接通过类名访问

    Dog.Num+=1;

    静态成员独立于任何实例,没有实例也可以访问


    静态函数独立于任何实例,没有实例也可以调用

    静态函数不能访问实例成员,实例成员能访问静态函数,仅能访问其它静态成员

    class Dog

    {

    static public void PrintNum()

    {

    Console.WriteLine(“Num=”+Num);

    }

    }

    静态构造函数:与类同名,使用static参数,无访问修饰符,用于初始化静态字段(为静态成员而生)

    class Dog//类名

    {

    static Dog()//静态构造函数,与类同名,无参数,无访问修饰符

    {

    num=0;//只能访问静态成员

    }

    }

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

    2018-11-15

  • 结构:

    struct 名字

    {

    }

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

    2018-11-15

  • 接口:指定一组函数成员,而不实现他们的引用类型

    接口是引用类型

    Interface

    interface ICatchMice

    {

    void CatchMice();//默认public,但不能加任何访问修饰符

    }

    只能用来被实现

    Cat:ICatchMiice//语法很像继承

    {

    public void CatchMice(){必须有实现}

    } 

    接口也是一种引用类型

    Cat c=new Cat();

    ICatchMiice ic=(ICatchMiice)c;

    c.CatchMice();//和下面意思一样,这个是通过对象c调用的

    ic.CatchMice();//和上面意思一样,这个是通过接口ICatchMiice调用的

    通过接口ICatchMiice调用的只能调用接口ICatchMiice所定义的那组函数

    通过c对象调用,我们就可以调用这个对象c自身有的函数

    实现多个接口

    Cat:Pet,ICatchMice,IClimbTree

    {

    }

    Cat继承Pet这个类,后面还实现了两个接口ICatchMice,IClimbTree

    实现这两个接口就要定义这两个接口所声明的接口里面的那组方法

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

    2018-11-15

  • 密闭类:sealed class 类

    密闭方法:sealed public void 方法(){}

    密闭类不可以被继承

    密闭方法不可以被override重写

    查看全部
    0 采集 收起 来源:密闭类

    2018-11-14

  • 抽象方法:abstract   方法()

    没有函数体,必须在派生类当中用override重写

    抽象类:abstract class 父类

    可以有普通函数,也可以有抽象函数

    抽象类不能被实例化

    例如A是抽象类

    A x=new A();这就是错的

    查看全部
  • 继承

    class ChildClass(子类) : ParentClass(基类)

    {

    .........

    }

    Object类是所有类的共同基类,是唯一的非派生类,是继承层次结构的基础。对于其他类,父类和子类的概念是相对的。

    集成智能是单继承,父类可以继承自一个祖父类,直到object类。

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

    2018-11-13

举报

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

微信扫码,参与3人拼团

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

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