2022年面向对象程序设计第一部分 .pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年面向对象程序设计第一部分 .pdf》由会员分享,可在线阅读,更多相关《2022年面向对象程序设计第一部分 .pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 / 10 第四章面向对象程序设计1、类2、对象3、接口4.1 编程语言的几个发展阶段机器语言如:汇编语言过程语言如: c 语言 ,Fortran 语言等使用面向过程语言,人们只需按着自己的意图来编写各个函数,语言的语法更接近人们的自然语言 ,所以 ,习惯上也称过程语言是高级语言.但是 ,无论那种高级语言编写的源文件,计算机都不能直接执行,因为计算机只能直接识别,执行机器指令 .因此 ,必须把源文件转换成机器指令,然后计算机去执行相应的机器指令. 将高级语言编写的源程序转化成机器指令,经常使用下列两种方式:(1)编译方式 Compilation: 针对当前的机器处理器芯片,将源程序全部翻译成
2、机器指令,称做目标程序 ,再将目标程序交给计算机执行. (2)解释方式 Interpretation: 这种方式不产生整个的目标程序,而是根据当前的机器处理器芯片 ,边翻译边执行,翻译一句执行一句. Java语言的处理方式既不是第1 种也不是第二种,Java 语言的创造发明之处在于,它不针对特定的CPU 芯片进行编译。Java提供的编译器把源程序编译成称做字节码的一个中间代码 .字节码是很接近机器码的文件 ,可以在提供了Java虚拟机 JVM 的任何系统上被解释执行.因此 ,Java本质上是解释执行的程序 ,当字节码加载到内存之后,再由 Java 的解释器对字节码按上述2 的解释方式执行,即翻
3、译一句 ,执行一句 ,不产生整个的机器代码程序,翻译过程如果不出现错误,就一直进行到全部执行完毕,否则将在错误处停止执行.同一个程序 ,如果是解释执行的,那么它的运行速度通常会比被编译成可执行的机器代码的运行速度慢些. 但是 ,对 Java 来说 ,二者的差别不太大,Java的字节码经过仔细设计,很容易便能使用 . JIT 即时编译方式编译技术将字节码直接转化成高性能的本地机器码,Sun 公司在 Java2 发行版中提供了这样一个字节码编译器:-JIT(Just In Time) ,它是 Java 虚拟机的一部分 .Java 运行系统在提供 JIT 的同时仍具有平台独立性 ,因而”高效且跨平台
4、”对 java 来说不再矛盾 . 如果把 Java 的源文件比做”汉语”的话,字节码就相当于”世界语”,世界语不和具体的”国家”有关,只要这个”国家”提供了”翻译”,就可以再快速地把世界语翻译成本地语言 . 面向对象编程随着计算机硬件设备功能的进一步提高,使得基于对象的编程成为可能.基于对象的编程更加符合人的思维模式,编写的程序更加健壮和强大,更重要的是 ,面向对象编程鼓励创造性的程序设计 . Java 是面向对象语言,它的源程序是由若干个类组成,源文件是扩展名为.java 的文本文件. 因此 ,要学习Java 编程就必须学会怎样去写类,即怎样用Java 的语法去描述一类事物共有的属性和功能.
5、属性通过变量来刻画,功能通过方法来体现,即方法操作属性形成一定的算法来实现一个具体的功能. 类把数据和对数据的操作封装成一个整体. 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 10 页2 / 10 4.2 类类是组成 Java程序的基本要素.类封装了一类对象的状态和方法.类是用来定义对象的模板. 类的实现包括两部分:类声明和类体 .基本格式为:class 类名 类体的内容 class 是关键字 ,用来定义类 .”class 类名”是类的声明部分,类名必须是合法的Java 标识符 .两个大括号以及之间的内容是类体. 4.2.1. 类声
6、明以下是两个类声明的例子. class People class 植物 “class People”和” class 植物”叫做类声明” People”和”植物”分别是类名。类命名最好遵守下列习惯: (1)如果类名使用拉丁字母,那么名字的首写字母使用大写字母,如 Hello,Time,People 等. (2)类名最好见名得意,当类名由几个”单词”复合而成时,每个单词的首写字母使用大写。如 BeijingTime,AmericanGame,HelloChina等. 4.2.2. 类体写类的目的是为了描述一类事物共有的属性和功能,描述过程由类体来实现.类声明之后的一对大括号“ ”,“ ”以及它们
7、之间的内容称做类体,大括号之间的内容称做类体的内容. 类体的内容由两部分构成:一部分是变量的定义,用来刻画属性;另一部分是方法的定义,用来刻画功能. 下面是一个类名为”梯形”的类,类体内容的变量定义部分定义了4 个 float 类型的变量”上底” ,”下底” ,”高”和”面积”,方法定义部分定义了两个方法”计算面积”和”修改高” . class 梯形 float 上底 ,下底 ,高,面积。 /变量定义部分. float 计算面积 () /方法定义 面积 =(上底 +下底 )* 高/2.0f。return 面积。 void 修改高 (float h) / 方法定义 高=h。 精选学习资料 - -
8、 - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 10 页3 / 10 4.2.3. 成员变量和局部变量我们已经知道类体分为两部分:. 变量定义部分所定义的变量被称为类的成员变量 . 在方法体中定义的变量和方法的参数被称为局部变量 . (1)成员变量和局部变量的类型可以是Java中的任何一种数据类型,包括基本类型 :整型、浮点型、字符型,布尔型。引用类型 :数组类型和对象。对象也称作类类型变量。class People int boy。 float a 。void f() boolean cool。Workman zhangboy。 class Workma
9、n double x。 People zhiwei 。 People 类的成员变量a 是浮点数组型变量,cool 是局部量 ,zhangboy 是类类型(对象)局部变量 ,类 Workman 中的 zhiwei 是类类型变量,即对象 . class Sun int distance。int find() int a=12。distance=a。 /合法 ,distance在整个类内有效. return distance。 void g() int y。y=a。 /非法 ,因为 a以失效 ,而方法 g 内又没有定义变量a (2)成员变量在整个类内都有效,局部变量只在定义它的方法内有效. 精选学习
10、资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 10 页4 / 10 成员变量与它在类体中书写的先后位置无关,例如 ,前述的梯形类也可以写成:class 梯形 float 上底 ,面积。 /成员变量的定义. float 计算面积 () 面积 =(上底 +下底 )* 高/2.0f。 return 面积。 float 下底。 /成员变量的定义. void 修改高 (float h) / 方法定义 . 高 =h。 float 高。 /成员变量的定义. 注意:但不提倡把成员变量的定义分散地写在方法之间或类体的最后,人们习惯先介绍属性再介绍功能 . (3
11、)成员变量又分为实例成员变量(简称实例变量 )和类成员变量(简称类变量 )例如:class dog float x。static int y 。 其中 x 是实例变量 ,而 y 是类变量 .如果成员变量的类型前面加上关键字static,这样的成员变量称做是类变量或静态成员变量.再学习过对象之后,就会知道实例变量和类变量的区别. (4)如果局部变量的名字与成员变量的名字相同,则成员变量被屏蔽,即这个成员变量在这个方法内暂时失效. class Tom int x=98,y 。void f() int x=3 。y=x。/ y 得到的值是3,不是 98.如果方法f 中没有” int x=3。” 语句
12、 ,y 的值将是98. (5)我们已经知道,如果局部变量的名字与成员变量的名字相同,,则成员变量被屏蔽 . 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 10 页5 / 10 这时如果想在该方法内使用成员变量,必须使用 关键字 this.class 三角形 float sideA,sideB,sideC,lengthSum 。void setSide(float sideA,float sideB,float sideC) this.sideA=sideA 。this.sideB=sideB 。this.sideC=sideC。 th
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年面向对象程序设计第一部分 2022 面向 对象 程序设计 第一 部分
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内