美文网首页
C#面向对象基础3

C#面向对象基础3

作者: 白面金毛九尾狐 | 来源:发表于2019-03-06 20:41 被阅读0次

    1.序列化与反序列化
    序列化:对象转换为二进制(为了传输数据,计算机以及网络中的数据都是以二进制进行识别)

    [Serializable] 在类的上面加上此语句(带[])才可以将类序列化
    BinaryFormatter(FileStream,p)//用于读
    BinaryFormatter(Filestream)//用于写,返回Object类型

    2.部分类partial(类中定义部分类,所有部分类看作一个类,用途不明)
    3.蜜蜂类 sealed :修饰后,类不可以被继承!
    4.ToString():是object的方法,所有类都可以重写此方法。

    5.接口
    不可以写public修饰符,默认public
    只可以有方法(封装字段的语句也视为方法)

    显式实现接口
    实现的时候在子类的方法中写 接口名.方法名(这样在用接口创建变量的时候,调用方法就会调用此实现方法,用子类创建变量的时候,会调用子类自己的同名方法)//创建的对象都是子类是一定的(接口不能创建对象)

    注意:在子类中用显式实现接口的时候,一样不用加public

    6.抽象类与接口的区别!!!!!!
    相同点:
    (1).都可以被继承
    (2)都不能被实例化
    (3)都可以包含方法声明
    (4)派生类(子类)必须实现未实现的方法
    区别
    (1).抽象基类可以定义字段,属性,方法实现。 接口只能定义属性,索引器,事件,方法声明,不能包含字段
    (2)抽象类是一个不完整的类需要进一步细化,而接口是一个行为规范。
    (3)接口可以被多重实现,抽象类只能被单一继承
    (4)抽象类主要定义在关系紧密的一系列类间(例如产品的定义),二接口大多数是关系疏松但是都实现某一功能的类中(产品的功能实现)
    (5)抽象类是从一系列相关对象中抽象出来的概念,是反映事物的内部共性,接口是为了满足外部调用,反应的是外部特性
    (6)接口仅仅是让你知道了可以调用什么方法
    (7)接口可以支持回调,继承不支持
    (8)抽象类实现的具体的方法默认为虚方法,接口为非虚
    (9)如果抽象类实现接口,则可以把接口中方法映射到抽象类中,但是抽象类本身可以不用实现,用子类去实现

    相关文章

      网友评论

          本文标题:C#面向对象基础3

          本文链接:https://www.haomeiwen.com/subject/yiaxpqtx.html