中国高校课件下载中心 》 教学资源 》 大学文库

《程序设计语言与编译》课程PPT教学课件(高职)第七讲 抽象数据类型

文档信息
资源类别:文库
文档格式:PPT
文档页数:44
文件大小:218.5KB
团购合买:点击进入团购
内容简介
1. 用户定义类型与内部类型的异同 ①都建立某种基本表示的抽象如:integer是位串的抽象;reg_polygon是记录的抽象 ②每一类型都关联一组操作 ③内部类型隐蔽了基本表示,不能对它的成分进行操作;用户定义类型具有更高级别的抽象,可以对其基本表示的成分进行操作。
刷新页面文档预览

第九节抽象数据类型 1.用户定义类型与内部类型的异同 ①都建立某种基本表示的抽象 如 Integer是位串的抽象; reg_ polygon是记录的抽象 ②每类型都关联一组操作 ③内部类型隐蔽了基本表示,不能对 它的成分进行操作;用户定义类型具 有更高级别的抽象,可以对其基本 表示的成分进行操作

第九节 抽象数据类型 1. 用户定义类型与内部类型的异同 ①都建立某种基本表示的抽象 如:integer是位串的抽象; reg_polygon是记录的抽象 ②每一类型都关联一组操作 ③内部类型隐蔽了基本表示,不能对 它的成分进行操作;用户定义类型具 有更高级别的抽象,可以对其基本 表示的成分进行操作

2.抽象数据类型的定义 满足下述特性的用户定义类型称为抽象 数据类型 ①在实现该类型的程序单元中,建立与 表示有关的基本操作; ②对使用该类型的程序单元来说该类 型的表示是隐蔽的

2. 抽象数据类型的定义 满足下述特性的用户定义类型称为抽象 数据类型: ①在实现该类型的程序单元中,建立与 表示有关的基本操作; ②对使用该类型的程序单元来说,该类 型的表示是隐蔽的

SIMULA67的类机制 1类的说明 类体> 包括类名和形式参数 类体是传统的分程序,可包含变量、过程 和类的局部说明,以及一些执行语句 例:复数表示(幅角半径)

一. SIMULA 67的类机制 1.类的说明 ; 包括类名和形式参数 是传统的分程序, 可包含变量、过程 和类的局部说明,以及一些执行语句 例:复数表示(幅角,半径)

class complex (x,y); real x,y; begin real angle, radius; - a radiuS: =sqrt (X**2+y**2) if abs (x) epsilon then angle: =pi/2 else angle = 3*pi/2 end end else angle: =arctan(y/x) end complex

class complex(x,y);real x,y; begin real angle,radius; radius:=sqrt(x**2+y**2); if abs(x)epsilon then angle:=pi/2 else angle:=3*pi/2 end end else angle:=arctan(y/x) end complex

2.类的有关性质 ①类说明定义了一类数据对象的原型 或样板 ②类的每个实例是一个可操作的数据 对象 ③类的实例可多次动态建立且仅能通 过指针引用 例: ref(complex)c; C: -new complex(1.0, 1.0)

2. 类的有关性质 ①类说明定义了一类数据对象的原型 或样板 ②类的每个实例是一个可操作的数据 对象 ③类的实例可多次动态建立,且仅能通 过指针引用 例: ref(complex) c; c:- new complex(1.0, 1.0);

0.78 angle 42 lius 1.0 X 1.0

c 0.78 1.42 1.0 1.0 angle radius xy

④类实例的属性是指类体的局部变量 和类头中的参数 my angle:≡c. angle my radius: cradius, my X.C.X my y -Cy

④类实例的属性是指类体的局部变量 和类头中的参数 my_angle:=c.angle; my_radius:=c.radius; my_x:=c.x; my_y:=c.y;

⑤类支持抽象数据类型的封装机制它 可以封裝实现对数据操作的各种过程 例可将复数加和乘的过程ad和 multipl封 装入类 complex的类体说明中,作为 complex的属性 procedure add(operand) ref(complex) operand procedure multiply(operand); ref(complex)operand 变量cl、c2引用的两个复数相加可表示为 cl. add( c2)

⑤类支持抽象数据类型的封装机制,它 可以封装实现对数据操作的各种过程 例: 可将复数加和乘的过程add和multiply封 装入类complex的类体说明中, 作为 complex的属性。 procedure add(operand);ref (complex) operand procedure multiply(operand);ref (complex) operand 变量c1、c2引用的两个复数相加可表示为: c1.add(c2)

或 c3angle: c I. angle, c3 radius =cl radius +c2 radius 用户可以直接访问复数的内部表示,故add 和 multiply不是复数对象的唯一操作

或 c3.angle:=c1.angle; c3.radius:=c1.radius+c2.radius; 用户可以直接访问复数的内部表示, 故add 和multiply不是复数对象的唯一操作

3.子类 用以定义类型的判定或和类属。 要求:定义一个栈,完成 引用栈顶元素 入栈 出栈 判栈是否空 (这些操作与栈中元素的类型无关)

3. 子类 用以定义类型的判定或和类属。 要求:定义一个栈,完成 引用栈顶元素 入栈 出栈 判栈是否空 (这些操作与栈中元素的类型无关)

刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档