zoukankan      html  css  js  c++  java
  • COS(cache objectscript)语言及语法cache对象及对象类型

    cache对象的特性

        1.继承,一重,多重,多层继承。

        2.多态,也可以成为重载。允许函数在不同继承类中修改,来实现各自所需要的功能。

    对象类型

        分类及关系

    对象类 注册类 持久型类
          嵌入式类
        非注册类  
      数据类型    

    a.数据类型类(data Type class)

    这种数据类型类是用作为对象类的属性(property )的定义的。

    它没有独立的身份,不能被实例化,也不能有任何的属性。

    它提供一些特定的方法保证值的有效性和值之间的运算。

    b.对象类

    每个对象类都有独一无二的名字,对象类可以包含有自己属性、方法和关键字等等,可以被实例化。

       a.1非注册类

           由于非注册类没有注册到cache中,他的OIDs【Object Indenfitier】(对象标识)和OREF【Object Reference】(对象引用,OIDs是对象的ID,OREF是已经存放在内存里面的对象的实例。)需要开发者自己提供和管理。同时,非注册类型也有一些限制。

    1)  系统不会为非注册类分配存储空间;
    2)  不支持多态
    3)  如果变量要引用非注册类,需要和相关的数据类型一起声明。

       a.2注册类

           这个完全是从系统的%RegisteredObject继承的,有完整的方法来管理他们的存储。

           注册的类只存在于内存之中,他们的生成和管理都是由cache负责的。他们都有OREF,以用来在内存中进行访问。他们也支持多态。

       a.2.1嵌入型类
           嵌入型类是从系统的%SerialObject继承的。它可以以独立的形式存在于内存中,但是它必须嵌入在别的对象中才能存在硬盘上。

       a.2.2持久类

           持久类是继承于%Presistent.它可以独立地存在于内存和硬盘中。这种类也拥有独一无二的OID ,和可以包含自己的属性和方法。如果一个类的某一个属性是另一个类,那么这就称为是另一个类的引用。

  • 相关阅读:
    loj#6074. 「2017 山东一轮集训 Day6」子序列(矩阵乘法 dp)
    loj#6073. 「2017 山东一轮集训 Day5」距离(费用流)
    洛谷P5108 仰望半月的夜空(后缀数组)
    二次剩余Cipolla算法学习笔记
    BZOJ5118: Fib数列2(二次剩余)
    BZOJ3122: [Sdoi2013]随机数生成器(BSGS)
    loj#2531. 「CQOI2018」破解 D-H 协议(BSGS)
    noi.ac #289. 电梯(单调队列)
    51nod“省选”模测第二场 C 小朋友的笑话(线段树 set)
    HDU 4770 Lights Against DudelyLights
  • 原文地址:https://www.cnblogs.com/lifetraveler/p/2693741.html
Copyright © 2011-2022 走看看