欢迎来到天天文库
浏览记录
ID:52266668
大小:655.50 KB
页数:37页
时间:2020-04-03
《cstp培训课件4.面向对象的特性.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、面向对象的特性目标有关面向对象的概念Java的类Java的对象Java的面向对象特性抽象类和接口InnerClass总结面向对象的概念面向对象程序设计围绕的几个主要概念:抽象数据类型、类、类型层次(子类),封装性,继承性、多态性对象,消息和方法抽象数据类型classCar{intcolor_number;intdoor_number;intspeed;voidbrake(){…}voidspeedUp(){…};voidslowDown(){…}}计算机中的对象的原型现实生活中的对象抽象数据类型类什么是类?类是描述对象的“基本原型”,它定义一
2、种对象所能拥有的数据和能完成的操作,在面向对象的程序设计中,类是程序的基本单元。程序中的对象是类的一个实例,是一个软件单元,它由一组结构化的数据和在其上的一组操作构成。variablesmethods变量:即指对象的所知道的状态方法:指对象的功能单元。什么是消息?软件对象通过相互间传递消息来相互作用和通信一个消息由三部分组成:1.接受消息的对象2.要完成方法的名字3.方法需要的参数对象B对象Amessage一个例子在程序中操作对象是类的一个实例:即对象创建一个对象Helloobj=newHello();调用方法obj.showString(“
3、HelloWorld!”)classHello{}privateStrings;publicvoidshowString(){System.out.println(s);}publicvoidchangeString(Stringstr){s=str;returns;}封装什么是封装?封装把对象的所有组成部分组合在一起,封装定义程序如何引用对象的数据,封装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度。子类什么是子类?子类是作为另一个类的扩充或修正所定义的一个类.bicycle(superclass)Mountainbi
4、kesRacingbikesTandembikessubclass继承继承是子类利用父类中定义的方法和变量就像它们属于子类本身一样.classCar{intcolor_number;intdoor_number;intspeed;push_break(){…}add_oil(){…}}classTrash_CarextendsCar{doubleamount;fill_trash(){…}}何时选择继承性一个很好的经验:“B是一个A吗?”如果是则让B做A的子类.常犯的错误:A有一个B吗?例如让汽车轮子成为汽车的子类是错误的方法重写(overr
5、idden)什么是方法的覆盖(重写)?在子类中重新定义父类中已有的方法classCar{intcolor_number;intdoor_number;intspeed;push_break(){speed=0;}add_oil(){…}}classTrash_CarextendsCar{doubleamount;fill_trash(){…}push_break(){speed=speed-10;}}多态性(polymorphic)什么是方法的重载(多态性)?在同一个类中至少有两个方法用同一个名字,但有不同的参数。类voidshow(inti
6、nt_num)voidshow(doubledouble_num)voidshow(nitnit_um,floatfloat_um)1231.23123,1.23Java类定义包括类声明和类体类声明:[public][abstract
7、final]classclassName[extendssuperclassName][implementsinterfaceNameList]{……}类体定义如下:classclassName{[public
8、protected
9、private][static][final][transient][volat
10、ile]typevariableName;//成员变量[public
11、protected
12、private][static][final
13、abstract][native][synchronized]returnTypemethodName([paramList])[throwsexceptionList]{statements}//成员方法}成员变量[public
14、protected
15、private][static][final][transient][volatile]typevariableName;//成员变量static:静态变量(类
16、变量〕;相对于实例变量final:常量成员方法[public
17、protected
18、private][static][final
19、abstract][native][
此文档下载收益归作者所有