欢迎来到天天文库
浏览记录
ID:39749821
大小:1.16 MB
页数:54页
时间:2019-07-10
《面向对象概念类和对象》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三讲面向对象概念、类和对象前讲回顾qJava的8种基本数据类型qJava的字符串数据类型q数组的声明、创建及访问q三大流程控制结构的使用qJCreator和Eclipse开发工具的使用2本讲内容摘要2-1q现实中的对象和类q面向对象编程概念及与面向过程编程的区别q类的定义、实例化及使用q创建实例变量和类变量,实例方法和类方法q创建方法及方法的重载q构造函数(构造方法)、构造函数重载qgetXXX和setXXX函数q类的封装、继承和多态3本讲内容摘要2-2q创建新对象new运算符q类成员变量(字段)初始值q对象和引用q类的静态成员q基本数据类型的封装类
2、q目标1:能将一个事物抽象、设计并创建相应的类q目标2:创建对象并使用4面向对象编程(OOP)q二十世纪七十年代发展起来的q结构化编程的解决方案q模拟人类的思维过程q将数据和方法以“对象”为基体进行操作ObjectOrientedProgramsq面向过程是将一个待解决的问题分解成一系列步骤,一步步完成每一个细的操作,全部完成之后,问题即解决。5万物皆为对象q现实世界中所有的事物都是对象q对象都具有某些特征,并具有某些行为特征:车型、载客人数、特征:姓名、年龄、学起始站点、终点、…历、体重、…行为:启动、行驶、刹车、行为:学习、散步、跑开门、…步、吃饭
3、、…6对象的概念q对象可以是看得见、摸得着的有形的实体,如计算机、飞机、汽车等等;q对象也可以表示人或组织所起的作用,如治病、教学、生产等;q对象还可以表示事件,如各种事故、演出、战斗、开会等;q对象更可以表示规则,如各种专家规则、约束条件、正则表达式等。7对象的两个要素q属性q用于描述对象静态特性(结构特性)的一个数据项。如描述一个人可用姓名、性别、身份证号等属性。q方法(也称服务)q用于描述对象动态特性(行为特性)的一个操作系列。如每个人都具有工作、学习等行为特性。8对象的封装性能q对象就是一组属性和相关的方法的集合。这是面向对象方法与结构化方法的
4、重大区别之一。q对象将数据和施加于数据上的操作打包成一个不可分割的最基本的模块,使得仅有该类的有限个方法才可以操纵、改变这些数据。9类q在现实社会中,先有对象,后有类。q把众多的事物归纳、划分成类是我们在认识世界时经常采用的方法。q分类所依据的原则是抽象,也就是忽略事物的非本质特征,只注意那些与当前目标有关的本质特征。q找出事物的共性并将具有共同性质的事物划分为同一个类。10抽象各种多边形对象多边形类属性顶点抽象边的颜色填充颜色方法绘制擦除移动11类的概念q同一类中的对象有相同的属性(也称为成员变量,它描述该类的静态特性或结构特性)q同一类中的对象有相
5、同的方法(也称服务,它描述该类的行为特性或动态特性)q同一类中的对象遵守相同的语义规则。(共同的约束或规则)12数据抽象q数据抽象是识别特定实体的属性和方法的过程类属性方法13类的定义q一旦定义类后,就可以用这种新类来创建该类型的对象。q类就是对象的模板(template)。q而对象就是类的一个实例(instance)。q类包含数据成员(属性)和函数(方法)。q数据成员往往通过函数(方法)访问的。q类是具有共同属性和行为的对象的抽象。14类和对象数据或变量属性或状态方法操作或行为实例类对象抽象15类定义qJava中定义类的通用格式:classClass
6、Name{类的名称typevariable1;…实例变量(字段)typevariableN;typemethodname1(parameter-list){//方法体}成员方法…typemethodnameN(parameter-list){//方法体}}16变量定义q定义实例变量(对象变量)在类Myclass中创建一个float型的变量aFloatclassMyClass{floataFloat;}q定义类变量(静态变量)类变量是使用静态关键字来声明的classMyClass{staticintage;}17创建方法q方法一般的形式:accessty
7、pemethodname(parameter-list){//方法体}方法名称参数列表,访问修饰返回类型符,可选可选18对象作为参数q当对象作为函数参数时,在函数中只能改变该对象的状态(属性),但不能改变该对象的引用qJava中的参数传递类型是值传递19改变对象状态classDemo{inta,b;Demo(inti,intj){a=i;b=j;}//可以在函数中改变对象状态voidchangeState(Demoobj){obj.a=50;obj.b=40;}}20值传递voidswapObj(Demox,Demoy){Demotemp=y;y=x;
8、交换对象的引用x=temp;}Obj1obj1调用swapObj(obj1,obj2)obj2
此文档下载收益归作者所有