Caché开发培训课程:Caché面向对象开发

上传人:沈*** 文档编号:242502369 上传时间:2024-08-26 格式:PPTX 页数:27 大小:775.72KB
返回 下载 相关 举报
Caché开发培训课程:Caché面向对象开发_第1页
第1页 / 共27页
Caché开发培训课程:Caché面向对象开发_第2页
第2页 / 共27页
Caché开发培训课程:Caché面向对象开发_第3页
第3页 / 共27页
点击查看更多>>
资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,Cach,开发培训课程之四,Cach,面向对象开发,东华软件股份公司,医疗事业部,OOP前言,1,什么是Cach,的面向对象,2,Cach,的类定义,3,Cach,的面向对象编程,4,http:/127.0.0.1:8972/csp/docbook/DocBook.UI.Page.cls,Cach Development Guides,-,Using Cach Objects,OOP前言,1,什么是Cach,的面向对象,2,Cach,的类定义,3,Cach,的面向对象编程,4,OOP的基本特征,封装,继承 (泛化、聚合),多态(覆盖、重载),OOP前言,1,什么是Cach,的面向对象,2,Cach,的类定义,3,Cach,的面向对象编程,4,Cach,对象的特点,一个强大的对象模型,包括继承,属性,方法,集合,关系,用户定义的数据类型和流。,一个灵活的对象持久化机制,控制数据库的持久化类的各个方面,包括,索引,,约束和,指向,完整性。,一个易于使用的事务和并发模型,自动集成与Cache缓存的SQL通过统一数据架构。,与Java,、,C + +,、,ActiveX,的交互,性。,自动提供XML支持。,一个强大的,协同,开发环境:,Studio,。,Cach,对象包括以下主要内容,Class Dictionary:类定义,描述了每个特定的类库,Class Compiler,:一组程序,将类定义转换成可执行代码,Object Runtime System,:支持对象运行时操作,Cach Class Library,:一组Cach 安装时预先建立的类,Language Bindings,:与各开发语言的绑定,Projection,Gateways,:外部系统通过网关访问Cach 对象,面向对象的数据库开发,类和对象,抽象与建模,继承和多态,封装,可扩展性,对象持久,对象绑定,Cach,对象模型支持以下功能,Persistence:持久性,对象可以被存储在,Cach,数据库或外部数据库。 同时解析存储对象为关系表,可以使用标准的SQL查询,Properties:属性,简单值、对象、嵌入对象、对象引用、数组、集合、流,Custom Data Types,:自定义数据类型,可以使用应用程序自定义的数据类型,Methods:方法,类方法、实例方法,Polymorphism,:多态,Inheritance,:继承,Object的:OREF、OID和ID,OREF,一个对象引用,是一个值,set,obj,=#class(test.Person).%New(),OID,一个对象标识符,,唯一标识一个持久化对象。,set obj=#class(test.Person).%Open(,OID,),ID,一个值,唯一标识一个特定的范围内特定的实例。,set obj=#class(test.Person).%OpenId(,ID,),Cach,的ClassType,Transient Object Classes,临时类,注册类,in memory,类型:,RegisteredObject,Persistent Object Classes,持久类,in DB,类型:,%Persistent,Serial Object Classes,序列化类,in memory,or embedded within a persistent object,%SerialObject,Data Type Classes,数据类型类,依附于某个对象。,Cach,的ClassType,继承与多重继承,继承,Class User.MyClass,Extends,%Persistent ,ClassType = persistent,注意:对,ClassType,的要求,,在不同版本之间有差异,多重继承,Class X Extends (A, B, C) ,属性:所有父类的集合,优先级:后面的超类的属性覆盖前面的超类属性,关键字:来源于第一个超类,OOP前言,1,什么是Cach,的面向对象,2,Cach,的类定义,3,Cach,的面向对象编程,4,Cach,的类成员,ClassName:唯一类名,,包括,所属,包。,Property:,属性,,,类实例,的数据集合,。,Method:类方法和实例方法,。,Query,:查询,输出数据集,。,Index:索引的,存储结构,,用于,优化频繁访问数据,模式,。,Class Keywords:,类关键词,,,指定整体类的行为。,Class Parameters,:,类参数,,自定义类通常需要使用的值,。,Property,Keywords,Calculated,Description,Final,InitialExpression,Private,Required,Transient,Type,Accessors,Get :write obj.PropertyGet(),Set :do obj.PropertySet(val),Attribute,Data Type Properties,Object-Valued Properties,Collection Properties,Stream Properties,Multidimensional properties,Method,Arguments,Default Values,By Reference,Call,Return Values,Language,Keywords,ClassMethod,Final,SQLProc,Query,Define the query,New Query Wizard,SQL Query & User-Written Query,4 parts of User-Written Query,KeyWords,SQLProc,SqlName,Invoke the quer,y,do #class(%ResultSet).RunQuery(className,queryName,arg,.),Dynamic SQL,Storage,%CacheStorage,持久对象的默认存储模式,,可以,自动创建,CacheStorage,的关键点,Data Nodes,DataLocation,IdLocation,IndexNodes,IndexLocation,StreamLocation,%CacheSQLStorage,一种特殊的存储类,,通常用于,映射老结构的global,过,SQL Gateway,存储外部关系数据库的结构,Index,索引的特点,索引为,持久化类,提供一个优化的,实例检索机制,定义一个特定的排序与一类相关的常用请求的数据子集,索引可以定义为一个或多个属性的排序,排序规则,EXACT,SQLSTRING,SQLUPPER,ALPHAUP,MINUS,PLUS,SPACE,STRING,UPPER,RelationShip,RelationShip的特点,只有,持久类,能定义RelationShip,RelationShip是双向的,在两个类中都要定义,两种类型:1-n;父子,自动保证数据完整性,RelationShip解析为关系表中的外键,父子关系的定义,定义方法,存储,OOP前言,1,什么是Cach,的面向对象,2,Cach,的类定义,3,Cach,的面向对象编程,4,使用Cach,对象-1,Excute Method,Do oref.MethodName(arglist),Set value = oref.MethodName(arglist),Excute ClassMethod,Do #class(Classname).MethodName(arglist),Set value = #class(Classname).MethodName(arglist),New Object:,Set oref = #class(Classname).%New(),Open Object,Set oref = #class(Classname).%OpenId(id),Set oref = #class(Classname).%Open(oid),Get Property,Set value =,oref,.PropertyName,Set value = oref.PropertyName.GetAt(n) /List property,Set value = oref.PropertyNameGetAt(key) /Array property,使用Cach,对象-2,Modify Properties,Set oref.PropertyName = value,/Set car.Owner = person,Set oref.PropertyName.RefPropertyName = value,Modify List Properties,Do oref.PropertyName.Insert(data) /Do person.FavoriteColors.Insert(yellow),Do oref.PropertyName.SetAt(data,n) /Do person.FavoriteColors.SetAt(yellow,2),Do oref.PropertyName.InsertAt(data,n) /Do person.FavoriteColors.InsertAt(yellow,2),Do oref.PropertyName.InsertObject(itemoid),/when property is ListObjects,Modfiying Array Properties,Do oref.PropertyName.SetAt(data,key) /Do palette.Colors.SetAt(255,0,0,red),Do oref.PropertyName.SetObjectAt(ElementOid,key) /,property is Array of Objects,Modifying Stream Properties,Do oref.PropertyName.Write(data),Deleting Objects,Do #class(Classname).%DeleteId(id),Deleting Objects,Rebuild Index,do #class(,Classname,).%BuildIndices(),使用Cach,对象-3,Save Object,Do oref.%Save(),Set sc=oref.%Save(),TStart,/.,Set sc = oref.%Save(),If $ISERR(sc) ,/If ($ISOK(sc),TRollBack,Do $System.Status.DisplayError(sc),else,TCommit,Set id=oref.%Id(),课程4练习,了解Cach,的面向对象知识。阅读Using Cach Objects,熟悉持久类的定义,属性,索引,存储结构和索引的global结构,method、query,用面向对象方式编写代码,实现一个课程管理功能,要求如下:,数据,课程:代码、课程名、授课教师,授课教师:工号、姓名、性别、出生日期,学生:学号、姓名、性别、出生日期,成绩:学生、课程、成绩,功能:实现学生、课程、授课老师的维护,成绩维护(,增删改查、事务,),命名:test.姓名.ClassName,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!