面向对象编程3

上传人:san****019 文档编号:71498113 上传时间:2019-01-20 格式:PPT 页数:16 大小:489.81KB
返回 下载 相关 举报
面向对象编程3_第1页
第1页 / 共16页
面向对象编程3_第2页
第2页 / 共16页
面向对象编程3_第3页
第3页 / 共16页
面向对象编程3_第4页
第4页 / 共16页
面向对象编程3_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《面向对象编程3》由会员分享,可在线阅读,更多相关《面向对象编程3(16页珍藏版)》请在金锄头文库上搜索。

1、PL/SQL从入门到精通视频,第十七讲:面向对象的编程,课程安排,对象基础 定义对象类型 管理对象表 管理对象类型,对象基础,面向对象简介 什么是对象类型 PL/SQL中对象的组成结构,类与对象的示意图,对象类型与对象实例,PL/SQL中对象的组成结构,在PL/SQL中,可以定义如下几种类型的方法: 构造方法:该方法类似于Java、C#等语言中的构造函数,用来初始化一个对象类型并返回对象的实例。 MEMBER方法:该方法允许对象的实例进行调用,在MEMBER方法中可以访问对象实例的数据,通常称为实例方法或成员方法。 STATIC方法:该方法可以直接在对象类型上进行调用,它用于在对象类型上执行全

2、局操作,通常称为静态方法。 MAP方法:用于在多个对象间排序的映射方法。 ORDER方法:用于在2个对象实例间排序的排序方法。,定义对象类型,由于对象类型规范和对象类型体的隔离特性,在定义对象类型时,必须先定义对象类型规范,定义语法如下所示: CREATE OR REPLACE TYPE type_name AUTHID CURRENT_USER|DEFINER IS|AS OBJECT|UNDER supertype_name ( attribute_name datatype,attribute_name datatype. MAP|ORDER MEMBER function_spec,

3、FINAL|NOTFINAL MEMBER function_spec, INSTANTIABLE|NOTINSTANTIABLE MEMBER function_spec, MEMBER|STATIC subprogram_spec|call_spec ,MEMBER|STATIC subprogram_spec|call_spec. )FINAL|NOTFINAL INSTANTIABLE|NOTINSTANTIABLE;,定义对象体,CREATE OR REPLACE TYPE BODY type_name IS|AS MAP|ORDER MEMBER function_body; |M

4、EMBER|STATICsubprogram_body|call_spec; MEMBER|STATICsubprogram_body|call_spec;. END;,定义属性,在定义对象类型的属性时,必须要了解一些属性定义的限制: 属性的声明必须是在方法的声明以前,也就是说在对象规范中CREATE TYPE下面的声明必须最先是属性的定义。 属性的数据类型必须是Oracle数据库类型,不能是任何PL/SQL类型或者是PL/SQL自定义类型,但是排除了Oracle中的ROWID、UROWID、LONG、LONG RAW、NCHAR、NCLOB、NVARCHAR2类型。 在定义属性时不能对属性应

5、用NOT NULL约束或者是使用DEFAULT指定默认值。 在一个对象类型中至少要定义一个属性,但是不能大于1000个属性。,定义方法,对象方法是在对象规范定义中使用MEMBER或STATIC声明在对象说明部分的子程序,它们是在属性声明之后进行的,MEMBER和STATIC的区别如下所示: MEMBER方法:成员方法是基于对象实例调用的,而不是基于对象类型调用的。 STATIC方法:静态方法独立于对象实例,也不能在对象类型主体中引用这个对象的属性。,其他对象要点,使用SELF关键字 定义构造函数 为对象提供初始化功能,以避免许多具有特别用途的过程只初始化对象的不同部分,可以通过构造函数进行统一

6、初始化。 可以在构造函数中为某些属性提供默认值,这样就能确保属性值的正确性,而不必依赖于调用者所提供的每一个属性值。 出于维护性的考虑,在新的属性添加到对象中时,避免要更改调用构造函数的应用程序中的代码,这样可以使已经存在的构造函数调用继续工作。 定义MAP和ORDER方法 MAP方法:该函数会将对象实例根据一定的调用规则返回DATE、NUMBER、VARCAHR2类型的标量类型,在映射对象类型为标量函数后,就可以通过对标量函数的比较来得到结果了。 ORDER方法:ORDER方法只能对2个对象之间进行比较,必须是返回数值型结果的函数,根据结果返回正数、负数或零。该方法只有2个参数,SELF和另一个要比较的对象类型,如果传递该参数为NULL,则返回NULL。,使用对象类型,声明对象 初始化对象 调用对象方法,对象继承,类继承结构,方法重载,在介绍子程序和包时,讨论过重载的技术,所谓的重载就是定义一个或多个具有同名的函数或过程,但是参数类型名个数不同,由编译器根据调用参数确定执行哪一个子程序。这种重载方式有时候也称为静态多态。在使用对象继承时,也可以使用方法重载。但是这种方法重载不同于过程或包中的重载,这种重使用了动态方法调用的能力,也称为动态多态或运行时多态。也就是说具体的调用方法不是在编译时确定的,而是在代码实际执行时才确定的重载。,性格决定命运, 专注成就人生, 源智天下,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号