
java 对象和类.ppt
39页第三章 对象和类1回顾 循环语句while、do-while、for的区别是什么? int i = 0, j = 0;while(i4){System.out.println(“**“);i++;continue;}System.out.println(“*“);j++;i++;}* * * * * ** **写出运行结果输出2预习检查• 类与对象的关系是什么? • 定义一个类的语法是什么? • 如何创建一个类的对象?3本章任务以OO方式实现: • 华育学校类,描述华育中心基本信息 • 学生类,输出学生信息 • 教员类,输出教员信息4• 掌握类和对象的特征 • 理解封装 • 会创建和使用对象本章目标5万物皆对象• 世界是由什么组成的? 名胜 人物品 动物 ,植物…… 6身边的对象布兰尼朱丽叶顾客 姓名:朱丽叶 年龄:28 体重:52千克操作: 购买商品姓名:布兰尼 职衔:收银员 年龄:35 体重:60千克操作: 收款 打印账单7对象的特征——属性• 属性——对象具有的各种特征• 每个对象的每个属性都拥有特定值– 例如:布兰尼和朱丽叶的体重不一样60kg布兰尼属性 35岁收银员布兰尼 8对象的特征——方法• 方法——对象执行的操作打单 收银 方法 刷卡 收银员布兰尼9对象的属性和方法• 列出尼古拉斯·凯奇驾驶的这辆法拉利F360 Spider的属性和方法• 列出小狗对象的属性和方法属性:品牌:法拉利型号:F360 Spider颜色:黄色价格:380万元 方法:发动停止加速属性: 颜色:白色 方法: 叫跑吃10小结1• 说一说教室里的对象 • 描述他们的属性和方法 颜色:黑色 品牌:BENQ 投影姓名:张三 年龄:20 学习类型:白炽灯 开 关 变亮 变暗材制: 木质 支撑物品11封装• 对象同时具有属性和方法两项特性 • 对象的属性和方法通常被封装在一起,共同体现 事物的特性, 二者相辅相承,不能分割谁看见过只有“完好 的零件和颜色”而不 能开动的汽车?12从对象抽象出“类”抽取出下列对象的属性和方法的共同特征顾客 13类顾客类 轿车类…………类是模子,确定对象将会拥有的 特征(属性)和行为(方法)• 类是对象的类型– 不同于int类型:具有方法各种口味的球状冰淇淋球状冰淇淋模子14小结2• 类和对象有什么区别呢? – 类是抽象的概念,仅仅是模板,比如说:“人” – 对象是一个你能够看得到、摸得着的具体实体,比如:“小布什”小布什普京克林顿……“人”类特征(属性)年龄 体重 行为(方法) 衣 食 住 行15类和对象• 类是具有共同属性和 行为的对象的抽象。
• 类可以定义为数据和 方法的集合 • 类也称为模板,因为 它们提供了对象的基 本框架类对象抽象实例化属性或状态操作或行为数据或变量方法16Java 是面向对象的语言 • 所有Java程序都以类class为组织单元• 关键字class定义自定义的数据类型public class Hello {public static void main(String[ ] args) {System.out.println(“使用Java语言理解程序逻辑“);…} }17Java类模板• 类将现实世界中的概念模拟到计算机程序中public class 类名 {//定义属性部分属性1的类型 属性1;属性2的类型 属性2;…属性n的类型 属性n;//定义方法部分方法1;方法2;…方法m; }18定义类• 定义一个类的步骤 1、定义类名 2、编写类的属性 3、编写类的方法19类示例2-1在不同华育培训中心(北京中心,杭州中心等),你会 感受到相同的环境和教学氛围,用类的思想输出中心信 息School类属性: 中心全称 中心教室数目 中心机房数目方法: 展示中心信息演示示例1:使用Eclipse创建School类框架20类示例2-2public class School {//定义华育中心的属性String schoolName; // 中心的全称int classNum; //教室的数目 int labNum; //机房的数目// 定义华育中心的方法public String toString() {return schoolName + “培训学员“+ “\n“ + “配备:“+ classNum + “教“ + labNum + “机“;} }定义类的toString()方法, 用于输出类相关的信息 public String toString(){return 字符串; //方法体 } 成员变量21常见错误public class .Book {String bookName;String authorName;int pageNum;boolean isAvailable; } 类命名规则: 1、不能使用Java关键字 2、首字母可以为字母,也可以是“_”或“$ ”(建议不要这样) 3、不能包含空格或“.”号代码错误22如何创建和使用对象• 使用对象的步骤: – 使用new创建类的一个对象– 使用对象:使用“.”进行以下操作 • 给类的属性赋值:对象名.属性 • 调用类的方法:对象名.方法名()School center = new School();center.schoolName = “北京中心“; //给属性赋值 center.toString(); //调用类的方法,该方法中的操作将被执行23public class InitialSchool {public static void main(String[ ] args){School center = new School();System.out.println(center);center.schoolName = “北京中心“;center.classNum = 10;center.labNum = 10;System.out.println(center);} }创建和使用对象示例创建“北京中心”对象演示示例2:创建和使用对象说一说看到 什么效果? 调用类的toString()方法是特 例:这里使用 center.toString()和center作 用相同 ———更简便24综合案例• 编写学生类,输出学生相关信息 • 编写教员类,输出教员相关信息学生类属性: 姓名 年龄 参加的课程 兴趣方法: 显示学员个人信息教员类属性: 姓名 专业 方向 教授的课程 教龄方法: 显示教员个人信息学生类参考代码教员类参考代码测试类参考代码演示示例3:创建和使用类和对象25小结3• 编写一个音乐类,并编写测试类显示音乐信息• 编写一个类,并编写测试类显示信息音乐类参考代码类参考代码测试类参考代码测试类参考代码音乐类(名称,类型)类(品牌,型号)26面向对象(OO)的优点• 便于程序模拟现实世界中的实体 – 用“类”表示实体的特征和行为• 隐藏细节– 对象的行为和属性被封装在类中,外界通过调用类的方法来获得 ,不需关注内部细节如何实现• 可重用– 可以通过类的模板,创建多个类的对象27数据类型总结int double charString 使用class定义的类型 Student Teacher School ……基本数据类型引用数据类型28数据类型使用区别数据类型特征声明使用基本数据类型没有方法int i= 8;i++;引用数据类型具有方法Student stu = new Student();stu.age++;29什么是类? 什么是对象? 类和对象的区别是什么? 如何定义一个类、类的属性和方法? 如何创建类的对象? toString()方法的优点是什么? 数据类型有哪两种?区别是什么?总结30上机作业升级“我行我素shopping”购物管理系统,完成以下功能: • 实现管理员类 • 实现礼品类 • 修改管理员密码 • 礼品馈赠31训练技能点• 会定义一个类 • 会创建一个对象 • 会编写和使用类的toString()方法32训练要点: 定义一个类 toString()方法 需求说明:定义管理员类 管理员类属性: 用户名 密码 方法: 显示管理员信息阶段133实现思路及关键代码:创建Manager类定义其属性:username和password 定义其toString()方法Manager.javapublic String toString( ){return “管理员信息是: “ + username + “\t“ + password;}阶段1完成时间:10分钟讲解实现思路和关键代码34需求说明:定义礼品类 Gift.java礼品类(Gift)属性: 礼品名(name) 礼品价值(price) 方法: 显示礼品信息阶段2完成时间:10分钟35训练要点:创建类的对象使用类的属性和toString()方法 需求说明:创建管理员对象: 1、根据右表所示创建两个管理员 2、显示管理员信息用户名密码manager0000admin1111阶段3教员讲解上机目标36实现思路及关键代码: 创建测试类 编写入口程序创建管理员对象并显示对象信息Test1.javapublic static void main(String[ ] args){//main方法主体 }Manager manager = new Manager(); manager.username = “manager“; manager.password = “0000“; System.out.println(manager);阶段3完成时间:15分钟讲解实现思路和关键代码 37需求说明: 更改管理员登录信息:1、输入旧的用户名和密码,如果正 确,方有权限更新2、从键盘获取新的用户名和密码, 进行更新Test2.java 阶段4完成时间:20分钟38需求说明: 购物中心为酬谢广大客户,推出 礼品馈赠活动,如表所示,循环 输入会员号和积分,用面向对象 思想实现礼品馈赠SendGift.java 积分x奖品8000≤x<15000x≥15000笔记本电脑阶段5完成时间:20分钟39。
