面向对象程序设计语言(PPT课件讲稿)

第04章面向对象程序设计语言 4.1 Smalltalk语言 对象的思想最早源于人工智能研究,60年代末描述智能对象的框架 ( frame)即封装了许多槽(s1ot),槽既可以是属性(数据)也可以 是行为(操作)和(约束)。但最早见诸文献是 sketchpad提到的oO 图形学(1963)。 60年代挪威的Dahl和 Nard为模拟系统硏制了 SIMULA-67语言 首先提出封装的类和动态生成实例对象的概念 60年代末,美国犹他大学 Alan Kay到 Xerox公司Pa1oA1o研究 中心参加了 Dynabook项目。该项目的硬件是star(个人机的前驱 软件是Sma11a1k 1972年 Dan Inga1ls完成Sma11ta1k-72第一个实用版,以后又 经过-76-80两次改进,Sma11ta1k-80成为向外发行的正式版本
第04章 面向对象程序设计语言 4.1 Smalltalk语言 对象的思想最早源于人工智能研究,60年代末描述智能对象的框架 (frame)即封装了许多槽(slot),槽既可以是属性(数据)也可以 是行为(操作)和(约束)。但最早见诸文献是sketchpad提到的OO 图形学(1963)。 60年代挪威的Dahl和Nyard为模拟系统研制了SIMULA-67语言, 首先提出封装的类和动态生成实例对象的概念。 60年代末,美国犹他大学Alan Kay到Xerox公司PaloAlto研究 中心参加了Dynabook项目。该项目的硬件是Star(个人机的前驱) 软件是Smalltalk。 1972年Dan Ingalls完成Smalltalk-72第一个实用版,以后又 经过-76-80两次改进,Smalltalk-80成为向外发行的正式版本

4.1 Smalltalk语言 对象的思想最早源于人工智能研究,60年代末描述智能对象的框架 ( frame)即封装了许多槽(slot),槽既可以是属性(数据)也可以 是行为(操作)和(约束)。但最早见诸文献是 sketchpad提到的oo 图形学(1963 60年代挪威的Dah1和 Naro为模拟系统研制了 SIMULA-67语言, 首先提出封装的类和动态生成实例对象的概念。 60年代末,美国犹他大学A1 an kay到 Xerox公司 Palo1to研究 中心参加了 Dynabook项目。该项目的硬件是star(个人机的前驱) 软件是sma11ta1k。 1972年 Dan Inga11s完成Sma1ta1k-72第一个实用版,以后又 经过-76-80两次改进,Sma11ta1k-80成为向外发行的正式版本
4.1 Smalltalk语言 对象的思想最早源于人工智能研究,60年代末描述智能对象的框架 (frame)即封装了许多槽(slot),槽既可以是属性(数据)也可以 是行为(操作)和(约束)。但最早见诸文献是sketchpad提到的OO 图形学(1963)。 60年代挪威的Dahl和Nyard为模拟系统研制了SIMULA-67语言, 首先提出封装的类和动态生成实例对象的概念。 60年代末,美国犹他大学Alan Kay到Xerox公司PaloAlto研究 中心参加了Dynabook项目。该项目的硬件是Star(个人机的前驱) 软件是Smalltalk。 1972年Dan Ingalls完成Smalltalk-72第一个实用版,以后又 经过-76-80两次改进,Smalltalk-80成为向外发行的正式版本

4.1.1 Smalltalk系统 语言核心( Kerne1) 程序设计系统 程序设计范型( Paradigm) 用户界面模型( User Interface Mode1)
4.1.1 Smalltalk系统 ·语言核心(Kernel) ·程序设计系统 ·程序设计范型(Paradigm) ·用户界面模型(User Interface Model)

412用户界面模型 系统工作空间 WorkSpace System Workspace (System Workspace) Bit Editor 工作空间 System Trancript Project (Workspace) again 系统副本 Form editor copy cut (System paste Transcript cancel 项目( Project) 两种图形编辑窗 (Form和Bit)
4.1.2 用户界面模型 • 系 统 工 作 空 间 (System WorkSpace) • 工 作 空 间 (WorkSpace) • 系 统 副 本 (System Transcript) • 项目(Project) • 两种图形编辑窗 (Form和Bit) WorkSpace System Workspace Project Bit Editor System Trancript again undo copy cut paste accept cancel enter Form Editor

系统浏览器( System Browser)窗 System Browser CLASSNAMES CLASS MENU MESSAGE MESSAGE CATEGORIES CATEGORIES SELECTORS MENU Instance Class 正文TEXT 用户就是按浏览窗中显示的模板填写程序
• 系统浏览器(System Browser)窗 • 用户就是按浏览窗中显示的模板填写程序。 System Browser 类类类类类 CLASS CATEGORIES MENU 类类类类类类类 MESSAGE SELECTORS MENU 类类类类类类 MESSAGE CATEGORIES MENU 类类类类 CLASSNAMES MENU Instance Class 正文 TEXT

413语言核心 (1)保留字 有五个ni1,true, false,se1f, super (2)字面量 字符字面量/数字面量/符号字面量/数组字面量 (3)限定符和特殊符号 $##() 1:=或← []()} (4)变量 实例变量/类变量/临时变量/全局变量/汇聚变量/参数
4.1.3 语言核心 (1) 保留字 只有五个nil,true,false,self,super (2) 字面量 字符字面量 /数字面量 / 符号字面量 / 数组字面量 (3) 限定符和特殊符号 " ' $ # #( ) , ; : | :=或← ↑ [ ] ( ) {} (4) 变量 实例变量 / 类变量 / 临时变量 / 全局变量 / 汇聚变量 / 参数

(5)消息表达式与语句 消息表达式的一般格式是 对象选择子参数 对象 选择子 Smalltalk的消息表达式有三种: 单目的不带参数 tree class消息 class发向tree,得到tree的类 0.3 sin 消息sin发向0.3,得sin(0.3) Array new消息new发向 Array,创建- Array 的实例
(5) 消息表达式与语句 消息表达式的一般格式是: 对象 选择子 参数 Smalltalk的消息表达式有三种: ·单目的 不带参数 tree class 消息class 发向tree,得到tree的类。 0.3 sin 消息sin 发向0.3,得sin(0.3) Array new 消息new 发向Array,创建-Array 的实例 对象 选择子-参数

双目的 3+4消息、‘+′带参数4发向对象3,得对象7。 100@50消息‘@′带参数50发向对象100,得(100,50 (sum/count) reserve amount 双目,括号优先单目优先 双目
· 双目的 3+4 消息‘+’带参数4发向对象3,得对象7。 100@ 50 消息‘@’带参数50发向对象100,得(100,50) (sum/count) * reserve amount 双目,括号优先 单目优先 双目

关键字消息表达式 用关键字(带有‘:′的选择子)描述的双目表达式,也是自 左至右释义。 anArray at:3 put: 100 finances totalspentOn: food 赋值变量在不同时间可赋以不同对象,任何表达式加 上赋值前缀‘ quantity←19. name←' chapter 1′。 f array at:4。数组第4元素与‘foo′同名
·关键字消息表达式 用关键字(带有‘:’的选择子)描述的双目表达式,也是自 左至右释义。 anArray at:3 put:100 finances totalSpentOn: ‘food’ ·赋值 变量在不同时间可赋以不同对象,任何表达式加 上赋值前缀‘← ’ quantity←19. name←‘chapter 1’ 。 foo ← array at:4。 数组第4元素与‘foo’同名

块表达式 L: X:y| BicPen goto: X@y] L:X:y| BicPen goto: X@y] value: 100 value: 250 BicPen goto 100@ 250 I ablock aBlock+[ This is a string' displayat: 500@ 500] Display white. aBlock value
·块表达式 [:x:y|BicPen goto:x@y] [:x:y|BicPen goto:x@y] value:100 value:250 BicPen goto 100@ 250 |aBlock| aBlock←['This is a String' displayAt:500@ 500]. Display white. aBlock value
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 四川大学:《Linux操作系统》课程教学资源(PPT课件讲稿)第3章 Shell及其编程(主计:潘薇).ppt
- 清华大家:字符串匹配算法(PPT讲稿)String Matching Algorithm(Overview & Analysis).ppt
- Flexsim 初级培训讲义(PPT讲稿)Flexsim Basic Training.ppt
- 《C语言程序设计》课程电子教案(PPT课件讲稿)第2章 数据类型及基本运算量.ppt
- 《软件测试 Software Testing》教学资源(PPT讲稿)Part 2 Testing Fundamentals.ppt
- 《计算机网络安全技术》课程教学资源(PPT课件讲稿)第五章 防火墙技术.ppt
- 《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第一讲 绪论.ppt
- 《The C++ Programming Language》课程教学资源(PPT课件讲稿)Lecture 01 From C to C++.ppt
- 上海交通大学:《数字图像处理 Digital Image Processing》课程教学资源(PPT课件讲稿,第三版)Chapter 12 Object Recognition.pptx
- 《数据结构》课程教学资源(PPT课件讲稿)第二章 线性表.ppt
- 《C语言程序设计》课程电子教案(PPT课件讲稿)第4章 算法控制结构.ppt
- 沈阳理工大学:《大学计算机基础》课程教学资源(PPT课件讲稿)第3章 编辑排版软件(Microsoft Word 2000).pps
- 《操作系统》课程教学资源(PPT课件讲稿)内存管理 Memory Management.ppt
- 《电子商务概论》课程教学资源(PPT课件讲稿)第一章 电子商务基础知识(主讲:贾朝辉).pptx
- 南京大学:《编译原理》课程教学资源(PPT课件讲稿)第九章 机器无关的优化(赵建华).ppt
- 《计算科学基础研究》课程教学资源(PPT课件讲稿)类的定义.ppt
- 上海交通大学:《程序设计》课程教学资源(PPT课件讲稿)第9章 模块化开发.ppt
- 利用EXCEL进行数据分析与图表处理(PPT讲稿).pptx
- 北京师范大学:《多媒体技术基础》课程教学资源(PPT课件讲稿)第二章 数字图像(曾兰芳).ppt
- 上海交通大学:《通信网络》课程PPT教学课件(Communication Networks)Introduction(主讲:叶通).pptx
- 《面向对象程序设计》课程教学资源(课件讲稿)C++语言的面向对象特征、Java语言的面向对象特征、Python语言的面向对象特征、R语言的面向对象特征.ppt
- 安徽理工大学:《Linux开发基础 Development Foundation on Linux OS》课程教学资源(PPT课件讲稿)GNU C/C++ programming、CGI programming in GNU C/C++ language(方贤进).ppt
- 《Photoshop基础教程与上机指导》课程教学资源(PPT讲稿)第8章 简单编辑图像.ppt
- 中国科学技术大学:《计算机组成原理》课程教学资源(PPT课件讲稿)第五章 虚拟存储器(主讲:李曦).ppt
- 中国科学技术大学:《计算机视觉》课程教学资源(PPT课件讲稿)第七章 基于运动视觉的场景复原.ppt
- 计算机应用基础课程:《信息技术应用基础》教学资源(PPT课件讲稿)第一章 中文WIN98操作系统.ppt
- 山东大学:《微机原理及单片机接口技术》课程教学资源(PPT课件讲稿)第十一章 复位、时钟和省电方式控制.ppt
- 中国科学技术大学:《计算机体系结构》课程教学资源(PPT课件讲稿)第6章 Data-Level Parallelism in Vector, SIMD, and GPU Architectures.ppt
- 北京航空航天大学:《程序语言设计原理》课程教学资源(PPT课件讲稿)并发程序设计语言.ppt
- 北京航空航天大学:《程序语言设计原理》课程教学资源(PPT课件讲稿)第三章 过程式程序设计语言.ppt
- 《微机原理及应用》课程教学资源(PPT课件讲稿)第4章 汇编语言程序设计.pptx
- 清华大学出版社:普通高校本科计算机专业特色教材精选《智能技术》课程教学资源(PPT讲稿课件)第4章 模糊逻辑技术(曹承志).ppt
- 《C++大学教程》课程教学资源(PPT课件讲稿)Chapter 17 文件处理 File Processing.ppt
- 《网站开发》课程教学资源(PPT课件讲稿)网站开发各阶段的任务.ppt
- 《数据结构》课程教学资源(PPT课件讲稿)第十章 文件、外部排序与外部搜索.ppt
- 香港浸会大学:《Data Communications and Networking》课程教学资源(PPT讲稿)Chapter 2 Protocol Architecture - TCP/IP model and OSI Model.ppt
- 南京理工大学:《数据挖掘与处理 Data Mining and Data Processing》课程教学资源(PPT课件讲稿)第一章 数据科学与数据挖掘(张正军).ppt
- 清华大学:A Heterogeneous Accelerator Platform for Multi-subject Voxel-based Brain Network Analysis(PPT讲稿).pptx
- 白城师范学院:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第四章 数据库安全性.pptx
- 合肥工业大学:《数据库系统》课程教学资源(PPT课件讲稿)数据库编程 ACCESS、MYSQL、Oracle(张国富)第一章 绪论.ppt