一些我们开发中常见的概念,整理了些比较经典的解释

来源:互联网 发布:ajax异步请求返回json 编辑:程序博客网 时间:2024/05/29 16:36

接口可以实例化
 
一般对象比如有个具体的类Person已定义好,要实例化它, 采取的语法是  Person objPerson = new Person();

但接口(如IConnection)不能这么做,其不能直接New 自己,如 IConnection objIConnection = new IConnection(),

这就是说"照例不可以生成接口的对象"的含义.

但面向对象都具有多态,可以向上转型, 比如某个类实现了该接口,如类Connection实现了该接口,则Connection类的

实例化对象可以给IConnection接口. 如 IConnection objIConnection = new Connection()

然后编程都基于接口进行操作,这样脱离了具体的类的实现,在某些场合就更灵活和易于扩充.

把变的东西抽象出来了,成了接口,反倒就让代码相对固定了,能适应变化的情况.

接口不能实列化,但是可能通过某些类创建接口的对类

 

什么是对象序列化?

        我们从为什么对象要序列化说起。之所以需要对象序列化,是因为有时候数据对象需要在网络上传输,传输的时候需要将对象进行序列化处理,从服务器存储介质上把序列化的对象取出,然后通过网络传送到客户端,再由客户端把序列化的对象数据读入内存,执行相应的处理,重新将对象数据保存到本地存储介质,然后以文件的形式呈现。这个流程就是:对象—〉序列化—〉传输—〉存储—〉反序列化(重新文件的形式呈现)。个人理解,序列化相当一种深度克隆,就是把你的数据对象转化成二进制的数据,方便储存和传送,对象序列化后才可以保存在存储介质;反序列化使对象数据以文件的形式呈现。