第03讲-面向对象概念、类和对象精选PPT.ppt
《第03讲-面向对象概念、类和对象精选PPT.ppt》由会员分享,可在线阅读,更多相关《第03讲-面向对象概念、类和对象精选PPT.ppt(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第03讲讲-面向对象概面向对象概念、类和对象念、类和对象第1页,此课件共54页哦2前讲回顾前讲回顾qJava的 8种基本数据类型qJava的字符串数据类型q数组的声明、创建及访问q三大流程控制结构的使用qJCreator 和 Eclipse开发工具的使用第2页,此课件共54页哦3本讲内容摘要本讲内容摘要2-1q现实中的对象和类q面向对象编程概念及与面向过程编程的区别q类的定义、实例化及使用 q创建实例变量和类变量,实例方法和类方法q创建方法及方法的重载q构造函数(构造方法)、构造函数重载qgetXXX和setXXX函数q类的封装、继承和多态第3页,此课件共54页哦4本讲内容摘要本讲内容摘要2
2、-2q创建新对象 new运算符 q类成员变量(字段)初始值q对象和引用q类的静态成员q基本数据类型的封装类q目标1:能将一个事物抽象、设计并创建相应的类q目标2:创建对象并使用第4页,此课件共54页哦5面向对象编程面向对象编程(OOP)q二十世纪七十年代发展起来的q结构化编程的解决方案q模拟人类的思维过程q将数据和方法以“对象”为基体进行操作q面向过程是将一个待解决的问题分解成一系列步骤,一步步完成每一个细的操作,全部完成之后,问题即解决。Object Oriented Programs第5页,此课件共54页哦6万物皆为对象万物皆为对象q现实世界中所有的事物都是对象现实世界中所有的事物都是对象
3、q对象都具有某些特征,并具有某些行为特征:车型、载客人数、起始站点、终点、行为:启动、行驶、刹车、开门、特征:姓名、年龄、学历、体重、行为:学习、散步、跑步、吃饭、第6页,此课件共54页哦7对象的概念对象的概念q对象可以是看得见、摸得着的有形的实体,如计算机、飞机、汽车等等;q对象也可以表示人或组织所起的作用,如治病、教学、生产等;q对象还可以表示事件,如各种事故、演出、战斗、开会等;q对象更可以表示规则,如各种专家规则、约束条件、正则表达式等。第7页,此课件共54页哦8对象的两个要素对象的两个要素q属性属性q用于描述对象静态特性(结构特性)的一个数据项。如描述一个人可用姓名、性别、身份证号等
4、属性。q方法方法(也称服务)q用于描述对象动态特性(行为特性)的一个操作系列。如每个人都具有工作、学习等行为特性。第8页,此课件共54页哦9对象的封装性能对象的封装性能q对象就是一组属性和相关的方法的集合。这是面向对象方法与结构化方法的重大区别之一。q对象将数据和施加于数据上的操作打包成一个不可分割的最基本的模块,使得仅有该类的有限个方法才可以操纵、改变这些数据。第9页,此课件共54页哦10类类q在现实社会中,先有对象,后有类。q把众多的事物归纳、划分成类是我们在认识世界时经常采用的方法。q分类所依据的原则是抽象抽象,也就是忽略事物的非本质特征,只注意那些与当前目标有关的本质特征本质特征。q找
5、出事物的共性并将具有共同性质的事物划分为同一个类类。第10页,此课件共54页哦11抽象抽象各种多边形对象抽象多边形类属性顶点边的颜色填充颜色方法绘制擦除移动第11页,此课件共54页哦12类的概念类的概念q同一类中的对象有相同的属性(也称为成员变量,它描述该类的静态特性或结构特性)q同一类中的对象有相同的方法(也称服务,它描述该类的行为特性或动态特性)q同一类中的对象遵守相同的语义规则。(共同的约束或规则)第12页,此课件共54页哦13数据抽象数据抽象q数据抽象是识别特定实体的属性和方法的过程属性属性方法方法类类第13页,此课件共54页哦14类的定义类的定义q一旦定义类后,就可以用这种新类来创建
6、该类型的对象。q类就是对象的模板(template)。q而对象就是类的一个实例(instance)。q类包含数据成员(属性)和函数(方法)。q数据成员往往通过函数(方法)访问的。q类是具有共同属性和行为的对象的抽象。第14页,此课件共54页哦15类和对象类和对象类对象抽象抽象实例实例属性或状态属性或状态操作或行为操作或行为数据或变量数据或变量方法方法第15页,此课件共54页哦16类定义类定义qJava中定义类的通用格式:classClassNametypevariable1;typevariableN;typemethodname1(parameter-list)/方法体typemethodn
7、ameN(parameter-list)/方法体类的名称实例变量(字段)成员方法第16页,此课件共54页哦17变量定义变量定义q定义实例变量(对象变量)在类Myclass中创建一个float型的变量aFloatclassMyClassfloataFloat;q定义类变量(静态变量)类变量是使用静态关键字来声明的classMyClassstaticintage;第17页,此课件共54页哦18创建方法创建方法q方法一般的形式:accesstypemethodname(parameter-list)/方法体 方法名称返回类型访问修饰符,可选参数列表,可选第18页,此课件共54页哦19对象作为参数对象
8、作为参数q当对象作为函数参数时,在函数中只能改变该对象的状态(属性),但不能改变该对象的引用qJava中的参数传递类型是值传递第19页,此课件共54页哦20改变对象状态改变对象状态classDemointa,b;Demo(inti,intj)a=i;b=j;/可以在函数中改变对象状态voidchangeState(Demoobj)obj.a=50;obj.b=40;第20页,此课件共54页哦21值传递值传递Obj1Obj2obj1obj2xyxy调用swapObj(obj1,obj2)voidswapObj(Demox,Demoy)Demotemp=y;y=x;x=temp;交换对象的引用第2
9、1页,此课件共54页哦22关键字关键字thisq关键字 this与对象关联q它用于指示当前对象publicclassDogpublic String name;publicDog(Stringname)this.name=name;publicStringgetName()returnthis.name;第22页,此课件共54页哦23类成员的作用域类成员的作用域数据或方法数据或方法privatepublic不可从类的外部访问(例如某人的钱包)可从类的外部访问(例如超市购物行为)第23页,此课件共54页哦24类方法类方法q类方法只可以操作类变量,q类方法不能访问实例变量。ClassTeststa
10、ticintcount=0;Test()count+;staticintgetCount()returncount;publicstaticvoidmain(Stringargs)System.out.println(Test.getCount()第24页,此课件共54页哦25方法重载方法重载q方法重载是Java实现面向对象的多态性机制的一种方式。q同一个类中多个方法有相同的名字,不同的参数列表,这种情况称为方法重载。q返回类型不同并不足以构成方法重载。q当重载方法被调用时,编译器根据参数的类型和数量来确定实际调用哪个重载方法的版本。第25页,此课件共54页哦26方法重载示例方法重载示例cla
11、ssTestpublicvoiddisplay(inti)System.out.println(“我是整型的数:”+i);publicvoiddisplay(floati)System.out.println(“我是浮点型的数:”+i);publicvoiddisplay(doublei)System.out.println(“我是双精度型的数:”+i);第26页,此课件共54页哦27将参数传递给将参数传递给Java应用程序应用程序q在命令行中进行参数传递,q例如:javaMainTestabc这样,就把参数abc传递给了应用程序MainTest。注意:参数之间用空格隔开,如果参数本身包括空格
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 03 面向 对象 概念 精选 PPT
限制150内