如鹏网.Net高级技术2.静态类和序列化

该段课程中首先给大家介绍一下密封类的特点.

然后开始学习静态类,静态类有什么特点.

为什么静态类不能实例化,不能被继承.

最后讲解序列化和反序列化是怎么回事.

 

课后讨论:系统中常用的静态类有哪些,静态方法如何调用,静态字段可以在哪里使用?

     Console,Math,Convert,

     类名.出来的。

 

  密封类不能被继承:sealed

   static 静态类不能被实例化:(里面有关键字abstract抽象的)

           静态类中不能有实例成员

           静态类不能被继承:(里面有关键字sealed密封的)

   静态字段可以任何地方使用。 

 

Console,Convert,Math使用时是否需要实例化 声明一个静态字段都能在哪里使用 静态类为什么不能实例化不能继承?

结论:

静态类不能被继承:sealed

静态类不能被实例化:abstract

添加一个实例方法,添加一个实例的属性(演示)

结论:静态类中不能添加实例成员

 

 

 

  对象序列化是将对象转换为二进制数据(字节流),反序列化是将二进制数据还原为对象。

  为什么要序列化?

  保持对象的持久化,将一个复杂的对象转换流,方便我们的存储与信息交换

  要序列化的类型必须标记为:[Serializable]

  该类型的父类也必须标记为: [Serializable]

  该类型中的所有成员的类型也必须标记为: [Serializable]

  序列化只会对类中的字段序列化,(只能序列化一些状态信息)

  不建议使用自动属性。(每次生成的字段都可能不一样,影响反序列化)

 

BinaryFormatter类有两个方法:

void Serialize(Stream stream, object pbj) 对象obj序列化到Stream中

object Deserialize(Stream stream) 将对象从stream中反序列化,返回值为反序列化得到的对象

如鹏网:http://www.rupeng.com

posted @ 2016-03-04 17:25  小居工作室  阅读(351)  评论(0编辑  收藏  举报