您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 第7章-类和对象-1
第七章类和对象第一单元预习检查类与对象的关系是什么?定义一个类的语法是什么?如何创建一个类的对象?提问第2页/共45页以OO的方式实现学校类、教员类、学生类,描述相关信息实现管理员类、客户类,描述相关信息游人类,输出购买门票价格更改管理员密码实现客户积分回馈本章任务第3页/共45页本章目标掌握类和对象理解封装会创建和使用对象点重点重点难第4页/共45页世界是由什么组成的?名胜人物品动物,植物……分类是人们认识世界的一个很自然的过程,在日常生活中会不自觉地进行分类万物皆对象第5页/共45页张浩李明收银员员工号—10001姓名—李明部门—财务部操作:收款打印账单顾客姓名—张浩年龄—20体重—60kg操作:购买商品身边的对象第6页/共45页属性——对象具有的各种特征每个对象的每个属性都拥有特定值例如:张浩和李明的年龄、姓名不一样20岁张浩属性60kg顾客张浩对象的特征——属性第7页/共45页方法——对象执行的操作对象:用来描述客观事物的一个实体,由一组属性和方法构成打印账单方法刷卡收银员李明收银对象的特征——方法第8页/共45页列出尼古拉斯·凯奇驾驶的这辆法拉利F360Spider的属性和方法列出小狗对象的属性和方法属性:品牌:法拉利型号:F360Spider颜色:黄色价格:380万元方法:发动停止加速属性:颜色:白色方法:叫跑吃提问对象的属性和方法第9页/共45页对象同时具有属性和方法两项特性对象的属性和方法通常被封装在一起,共同体现事物的特性,二者相辅相承,不能分割一辆汽车,有完好的零件和特定的颜色还应具备开动、刹车等方法行为封装第10页/共45页说一说教室里的对象描述他们的属性和方法颜色:黑色品牌:BENQ投影姓名:张三年龄:20学习类型:白炽灯开关变亮变暗材制:木质支撑物品提问小结第11页/共45页抽取出下列对象的共同特征(属性和方法)问题从对象抽象出“类”第12页/共45页顾客类轿车类…………类是模子,定义对象将会拥有的特征(属性)和行为(方法)类是对象的类型不同于int类型:具有方法各种口味的球状冰淇淋类第13页/共45页类是抽象的概念,仅仅是模板比如说:“人”对象是一个你能够看得到、摸得着的具体实体小布什普京克林顿……“人”类特征(属性)年龄体重行为(方法)衣食住行类和对象的关系第14页/共45页所有Java程序都以类class为组织单元关键字class定义自定义的数据类型publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println(HelloWorld!!!);}}类的基本框架Java是面向对象的语言第15页/共45页类将现实世界中的概念模拟到计算机程序中publicclass类名{//定义属性部分属性1的类型属性1;属性2的类型属性2;…属性n的类型属性n;//定义方法部分方法1;方法2;…方法m;}语法Java类模板第16页/共45页定义一个类的步骤定义类第17页/共45页在不同北大青鸟培训中心,会感受到相同的环境和教学氛围,用类的思想输出中心信息问题School类属性:中心全称中心教室数目中心机房数目方法:展示中心信息类示例2-1第18页/共45页publicclassSchool{StringschoolName;//中心名称intclassNumber;//教室数目intlabNumber;//机房数目//定义北大青鸟中心的方法publicvoidshowCenter(){System.out.println(schoolName+培训学员\n+配备:+classNumber+教+labNumber+机);}}定义类的showCenter()方法,用于输出类相关的信息方法成员变量示例类示例2-2演示示例:定义School类第19页/共45页第20页/共45页使用对象的步骤创建对象类名对象名=new类名();引用对象成员:使用“.”进行以下操作引用类的属性:对象名.属性引用类的方法:对象名.方法名()Schoolcenter=newSchool();center.name=北京中心;//给name属性赋值center.showCenter();//调用showCenter()方法语法语法如何创建和使用对象第21页/共45页publicclassInitialSchool{publicstaticvoidmain(String[]args){Schoolcenter=newSchool();System.out.println(***初始化成员变量前***);center.showCenter();center.schoolName=“徐州中心;center.classNumber=10;center.labNumber=10;System.out.println(\n***初始化成员变量后***);center.showCenter()}}创建“徐州中心”对象说一说看到什么效果?说一说又看到什么效果?示例创建和使用对象示例5-1演示示例:创建和使用对象第22页/共45页编写学员类,输出学员相关信息编写教员类,输出教员相关信息问题分析学员类姓名年龄班级爱好显示学员个人信息教员类姓名专业方向教授课程教龄显示教员个人信息创建和使用对象示例5-2第23页/共45页publicclassStudent{Stringname;//姓名intage;//年龄StringclassNo;//班级Stringhobby;//爱好//输出信息方法publicvoidshow(){System.out.println(name+\n年龄:+age+\n就读于:+classNo+\n爱好:+hobby);}}publicclassInitialStudent{publicstaticvoidmain(Stringargs[]){Studentstudent=newStudent();student.name=张浩;student.age=10;student.classNo=S1班;student.hobby=篮球;student.show();}}成员变量成员方法创建对象给每个属性赋值调用方法示例创建和使用对象示例5-3演示示例:输出学员和教员信息第24页/共45页一个景区根据游人的年龄收取不同价格的门票。请编写游人类,根据年龄段决定能够购买的门票价格并输出问题分析游人类姓名年龄显示姓名及门票价格创建和使用对象示例5-4第25页/共45页publicclassVisitor{Stringname;//姓名intage;//年龄//显示信息方法publicvoidshow(){Scannerinput=newScanner(System.in);while(!n.equals(name)){if(age=18&&age=60){//判断年龄System.out.println(name+年龄为+age+,价格为20元);}else{System.out.println(name+的年龄为:+age+,免费);}//……}}成员方法成员变量importjava.util.Scanner;publicclassInitialVistor{publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);Visitorv=newVisitor();System.out.print(请输入姓名:);v.name=input.next();System.out.print(请输入年龄:);v.age=input.nextInt();v.show();}}创建对象给每个属性赋值调用方法示例创建和使用对象示例5-5演示示例:输出门票价格第26页/共45页类和对象的关系?如何创建和使用对象?提问经验利用MyEclipse自动提示功能小结第27页/共45页结合定义类的语法,分析如下类的结构提问publicclassTest{publicStringguest;publicintyear;publicvoidsayHello(Stringhost){System.out.println(guest+去+host+家做客,他们认识了+year+年);}}属性(成员变量)方法(成员方法)成员变量(全局变量)局部变量第28页/共45页局部变量VS成员变量比较成员变量局部变量定义位置直接在类中定义定义在方法中声明赋值可以在声明时赋初始值;若不赋值,会有默认初始值,基本数据类型的值为0,引用类型的值为null在使用前需要赋值作用域在整个类内部都是可见的,所有成员方法都可以使用它,如果访问权限允许,还可以在类外部使用仅限于定义它的方法,在该方法外无法访问它注意(1)在同一个方法中,不允许有同名的局部变量。在不同的方法中,可以有同名的局部变量(2)局部变量可以和成员变量同名,并且在使用时,局部变量具有更高的优先级第29页/共45页局部变量VS成员变量训练要点类的属性定义类的方法需求说明编写管理员类实现思路1.定义管理员类Administrator2.定义其属性和方法指导学员操作——定义管理员类完成时间:10分钟共性问题集中讲解第30页/共45页训练要点使用类创建对象引用对象的属性和方法需求说明创建两个管理员类对象,输出他们的相关信息实现思路1、创建两个管理员类的对象2、给两个对象赋值并调用显示方法指导学员操作——创建管理员对象完成时间:10分钟共性问题集中讲解第31页/共45页训练要点使用类创建对象while循环需求说明输入旧的用户名和密码,如果正确,方有权限更新从键盘获取新的密码,进行更新指导学员操作——更改管理员密码第32页/共45页实现思路1.创建管理员类的对象2.利用while实现循环执行难点指导循环执行指导学员操作——更改管理员密码完成时间:25分钟共性问题集中讲解第33页/共45页需求说明编写客户类属性:积分、卡类型方法show():显示客户信息(显示积分、卡类型)定义客户类Customer定义属性和方法练习提示学员操作——定义客户类完成时间:10分钟共性问题集中讲解第34页/共45页需求说明实现积分回馈功能金卡客户积分大于1000分或普卡客户积分大于5000,获得回馈积分500分创建客户对象输出他得到的回馈积分练习学员操作——客户积分回馈完成时间:20分钟共性问题集中讲解第35页/共45页类的方法写出狮子对象的“跑”方法、“叫”方法电动玩具狮子属性:颜色:黄色行为:跑叫按此按钮,狮子开始叫按此按钮,狮子开始跑问题第36页/共46页类的方法示例AutoLion类代码实现publicclassAutoLion{Stringcolor=黄色;publicvoidrun(){System.out.println(正在以0.1米/秒的速度向前奔跑);}publicStringbark(){Stringsound=大声吼叫;returnsound;}}方法体返回值类型方法名称示例第37页/共46页如何定义类的方法类的方法定义类的某种行为(或功能)定义类的方法public返回值类型方法名(){//这里编写方法的主体}步骤一:定义方法名以及返回值类型步骤二:编写方法体语法方法的定义方法的名称方法的主体方法返回值的数据类型第38页/共46页方法的返回值两种情况如果方法具有返回值,方法中必须使用关键字return返回该值,返回值类型为该返回值的类型如果方法没有返回值,返回值类型为voidpublicclassStudent{Stringname=张三;publicStringgetName(){returnname;}//……}return表达式;作用:跳出方法、返回结果语法publicclassStudent{Stringname=张三;publicvoidgetName(){}//……}第39页/共46页方法调用方法是个“黑匣子”,完成某个特定的应用程序功能,并返回结果方法调用:执行方
本文标题:第7章-类和对象-1
链接地址:https://www.777doc.com/doc-7106009 .html