




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
回顾 循环语句while、do-while、for的区别是什么 ? int i = 0, j = 0; while(i4) System.out.println(“*“); i+; continue; System.out.println(“*“); j+; i+; * * * * * * * 写出运行结果 输出 预习检查 v类与对象的关系是什么? v定义一个类的语法是什么? v如何创建一个类的对象? 本章任务 以OO方式实现: vAccp学校类,描述Accp中心基本信息 v学生类,输出学生信息 v教员类,输出教员信息 面向对象编程 OOP 旨在在计算机程序中 模拟现实世界中的概念 在 OOP 中,现实世界的 所有事物全都被视为对象 能够在计算机程序中用类似的 实体模拟现实世界中的实体 设计和实现软件系统的方法 v掌握类和对象的特征 v理解封装 v会创建和使用对象 本章目标 万物皆对象 v世界是由什么组成的? 名胜 人 物品 动物 ,植物 身边边的对对象 布兰尼 朱丽叶 顾客 姓名:朱丽叶 年龄:28 体重:52千克 操作: 购买商品 姓名:布兰尼 职衔:收银员 年龄:35 体重:60千克 操作: 收款 打印账单 对对象的特征属性 v属性对象具有的各种特征 v每个对象的每个属性都拥有特定值 例如:布兰尼和朱丽叶的体重不一样 60kg 布兰尼 属性 35岁 收银员布兰尼 对对象的特征方法 v方法对象执行的操作 打单 收银 方法 刷卡 收银员布兰尼 对象的属性和方法 v列出尼古拉斯凯奇驾驶的这辆法拉利F360 Spider的属性和方法 v列出小狗对象的属性和方法 属性: 品牌:法拉利 型号:F360 Spider 颜色:黄色 价格:380万元 方法: 发动 停止 加速 属性: 颜色:白色 方法: 叫 跑 吃 小结1 v说一说教室里的对象 v描述他们的属性和方法 颜色:黑色 品牌:BENQ 投影 姓名:张三 年龄:20 学习 类型:白炽灯 开 关 变亮 变暗 材制: 木质 支撑物品 封装 v对象同时具有属性和方法两项特性 v对象的属性和方法通常被封装在一起,共 同体现事物的特性, 二者相辅相承,不能分 割 谁看见过只有“完好 的零件和颜色”而不 能开动的汽车? 封装的示例 接口 采购经理 罗杰斯先生 法拉力公司 . 迪斯尼汽车公司 . 市场经理 雪莉女士 要求 封装的示例 有选择地提供数据 法拉力公司迪斯尼汽车公司 公共 电话号码 电子邮箱 产品种类 私有 备件的制造方法 备件库存 备件的制造成本 公共 电话号码 电子邮箱 汽车种类 私有 汽车的组装方法 汽车库存 汽车的组装成本 封装的示例 实体法拉力公司实体迪斯尼汽车公司 Auti Ltd.Buto Ltd. 属性 电话号码 电子邮箱 产品种类 现有存货数量 雇员详情 所需物料详情 属性 电话号码 电子邮箱 汽车种类 汽车规格 雇员详情 库存详情 经销商详情 方法 接收订单 备件的制造方法 计算备件的制造成本 计算利润率 方法 发出订单 汽车的组装方法 计算汽车的组装成本 计算工资 发出订单 编制必要报告 从对象抽象出“类” 抽取出下列对象的属性和方法的共同特征 顾客 类 顾客类 轿车类 类是模子,确定对象将会拥有的 特征(属性)和行为(方法) v类是对象的类型 不同于int类型:具有方法 各种口味的球状冰淇淋 球状冰淇淋模子 类 v类是用于组合各个对象所共有操作和属性的一种 机制 形状类 动物类 汽车类 类的示例 “类是具有相同属性和行为的一组对象的集合” 类和对象的区别 类是概念模型, 定义对象的所 有特性和所需 的操作 对象是真实的模型 类和对象 类定义实体对象是实际的实体 类是对象的原型 所有属于同一个类 的对象都具有相同 的特性和操作 小结2 v类和对象有什么区别呢? 类是抽象的概念,仅仅是模板,比如说:“人” 对象是一个你能够看得到、摸得着的具体实体, 比如:“小布什” 小布什 普京 克林顿 “人”类类 特征(属性) 年龄龄 体重 行为为(方法) 衣 食 住 行 Java 是面向对对象的语语言 v所有Java程序都以类class为组织单元 v关键字class定义自定义的数据类型 public class HelloJava public static void main(String args) System.out.println(“使用Java语言理解程序逻辑“); Java类模板 v类将现实世界中的概念模拟到计算机程序中 public class 类名 /定义属性部分 属性1的类型 属性1; 属性2的类型 属性2; 属性n的类型 属性n; /定义方法部分 方法1; 方法2; 方法m; 定义类 v定义一个类的步骤 1、定义类名 2、编写类的属性 3、编写类的方法 vclass name v type variable1; v v type variableN; v v type methodname1(parameter-list) v /方法体 v v v type methodnameN(parameter-list) v /方法体 v v Java中定义类的通用格式: 成员变量(对象属性) 成员方法 (对象行为 或操作) 类示例 在类中,属性是通过成 员变量体现的,而操作 是用成员函数(又称为 方法)实现的。 代码示例 如果要对变量进行操作, vclass Test v vint a=10; vint b=20; vint c; vvoid add() v vc=a+b; v v 如果将“c=a+b;”写在add()方法之外, 就是不合法的,如下: class Test int a=10; int b=20; int c; c=a+b;/不合法的,编译 不能通过 void add() 常见错误 public class .Book String bookName; String authorName; int pageNum; boolean isAvailable; 类命名规则: 1、不能使用Java关键字 2、首字母可以为字母,也可以是“_”或“$ ”(建议不要这样) 3、不能包含空格或“.”号 代码错误 类示例 定义一个“人”类 vClass Person v String name,sex; Int age; Float height,weight; v Person类 属性: 姓名 性别 年龄 身高 体重 类类中的方法 方法的定义 方法的名称 参数列表 方法的主体 方法返回的对象类 型或原始类型 类类中的方法 语法 ( , ,) 其中, 是方法返回值的数据类型 是用户自定义的方法名称 方法的参数列表是一组变量声明。 是方法的主体 类类中的方法 不能为 Java 中的关键字 不能包含空格或点号“.” 可以下划线“_”、字母或“$”符号开头 方法的命名规则: 类类中的方法 class Book String bookName; String authorName; int nopages; boolean available; void isAvailable() if(available = true) System.out.println(“有这本书“); 方法 1.下列方法定义中,正确的是( D )。 A) int x( int a,b ) return (a-b); B) double x( int a,int b) int w; w=a-b; C) double x( a,b ) return b; D) int x( int a,int b) return a-b; 2.下列方法定义中,正确的是( D )。 A) void x( int a,int b ); return (a-b); B) x( int a,int b) return a-b; C) double x return b; D) int x( int a,int b) return a+b; 3. 下列方法定义中,不正确的是(D)。 A) float x( int a,int b ) return (a-b); B) int x( int a,int b) return a-b; C) int x( int a,int b ); return a*b; D) int x(int a,int b) return 1.2*(a+b); 4. 下列方法定义中,正确的是( A )。 A) int x( ) char ch=a; return (int)ch; B) void x( ) .return true; C) int x( ) .return true; D) int x( int a, b) return a+b; 类示例 定义一个圆类 Class Circle double bj=1.0; double ymj() returen bj*bj*3.14159; Circle类类 属性: 半径 方法: 求圆圆面积积 下面是一个类的定义,请将其补充完整。 class _ String name; int age; Student( _ s, int i) name=s; age=i; (Student String) 5.下面是一个类的定义,请将其补充完整。 _ A String s; _ int a=666; A(String s1) s=s1; static int geta( ) return a; (class static) 对象表示现实世界中某个具体的事物 抽象是从特定的实例中抽取共同的性质以形成一般 化概念的过程 对象具有两方面的含义: 在现实世界中:在现实世界中: 是客观世界中的一个实体是客观世界中的一个实体 在计算机世界中:在计算机世界中: 是一个可标识的存储区域是一个可标识的存储区域 对象 类和对象 v类是具有共同属性和行 为的对象的抽象 v类可以定义为数据和方 法的集合 v类也称为模板,因为它 们提供了对象的基本框架 类 对象 抽象 实例化 属性或状态 操作或行为 数据或变量 方法 封装的实体=数据+方法 对象 类是抽象,而对象是具体(实例化)。 对象的创建: 创建对象的过程就是实例化类的过程 创建的步骤: 1、对象的声明 2、对象的实例化及对象的初始化 创建对象 声明对象: 类名 对象名; 例如: 存在一个类: class People int a; String name; 然后即可声明该类的对象: People galen; 对象的实例化及初始化 对象名=new 类名( ); 关键字 new 通常称为创建运算符,用于分配对象内存, 并将该内存初始化为缺省值。 也可以利用下面的语法把声明和实例 化用一条语句: 类名 对象名=new 类名( ); 创建对象 例如,实例化上面已经声明的galen对象: galen=new People(); 例如 People galen=new People(); 当创建一个类时,只是 创建了一种新的数据类 型。对象是类的一个实 例。 class FruitDemo public static void main(String args) Fruit f = new Fruit(true,false,50.0F); 创建对象 对象示例 1.设 A为已定义的类名,下列声明A类的对象a的语句中正确的是( D)。 A) float A a; B) public A a=A( ); C) A a=new int( ); D) static A a=new A( ); 2设 A为已定义的类名,下列声明A类的对象a的语句中正确的是(A)。 A) public A a=new A( ); B) public A a=A( ); C) A a=new class( ); D) a A; 3.设 X 、Y 均为已定义的类名,下列声明类X的对象x1的语句中 正确的是(C)。 A) public X x1= new Y( ); B) X x1= X ( ); C) X x1=new X( ); D) int X x1; 4. 设X 、Y为已定义的类名,下列声明X类的对象x1的语句中正确 的是(A)。 A) static X x1; B) public X x1=new X(int 123); C) Y x1; D) X x1= X( ); 5.设 A 、B 均为已定义的类名,下列声明类A的对象a1的语句中正确 的是(C)。 A) public A a1= new B( ); B) A a1= A ( ); C) A a1=new A( ); D) int A a1; 6. 设A 、B为已定义的类名,下列声明A类的对象a1的语句中正确的是(A)。 A) static A a1; B) public A a1=new A(int 123); C) B a1; D) A a1= A( ); 7. 有一个类Person,以下为其构造方法的声明,其中正确的是( A )。 A)public Person (int x). B)static Person (int x). C)public a(int x). D)void Person (int x). 8. 有一个类Student,以下为其构造方法的声明,其中正确的是( B )。 A)void Student (int x). B) Student (int x). C)s(int x). D)void s(int x). 对象的使用 使用对象的变量 v通过使用运算符“.”,对象可以实现 对自己的变量的访问。 语法: v对象名.变量名 v例如People类的对象galen,就可以使用 :,来访问变量名name了。 调用对象的方法 使用对象的方法: v通过运算符“.”来调用类的方法,当对象调用方 法时,方法中出现的成员变量就是指该对象的成员变 量。 语法: v对象名.方法名(参数) 实例分析 1说说明类类 2说说明类类的变变量 3说说明类类的方法 4初始化变变量 5编编写代码显码显 示测试值测试值 6编编写main()方法的代码码 7调调用方法 8编译编译 运行程序 任务单 实例分析 v步骤1:说明类 public class Customer 实例分析 v步骤2:定义类的变量 public class Customer public String customerId; public String customerName; public String customerPhone; public String customerPostcode; 实例分析 v步骤3:说明类中的方法 public class Customer public String customerId; public String customerName; public String customerPhone; public String customerPostcode; public void displayDetails() /写入显示顾客的信息的代码 实例分析 v步骤4:初始化变量 public class Customer public String customerId; public String customerName; public String customerPhone; public String customerPostcode; public Customer( ) customerId= “C0001“; customerName= “张三“; customerPhone= “; customerPostcode= “410000“; public void displayDetails() /写入显示顾客的信息的代码 实例分析 v步骤5:编写代码显示测试值 public class Customer public String customerId; public String customerName; public String customerPhone; public String customerPostcode; public Customer( ) customerId= “C0001“; customerName= “张三“; customerPhone= “; customerPostcode= “410000“; public void displayDetails() System.out.println(“Id of an Customer is “+customerId); System.out.println(“Name of an Customer is “+customerName); System.out.println(“Phone of an Customer is “+customerPhone); System.out.println(“Postcode of an Customer is “+customerPostcode); 实例分析 v步骤6:编写main()方法 v步骤7:调用方法 v步骤8:编译运行程序 public class Customer public String customerId; public String customerName; public String customerPhone; public String customerPostcode; public Customer( ) customerId= “C0001“; customerName= “张三“; customerPhone= “; customerPostcode= “410000“; public void displayDetails() System.out.println(“Id of an Customer is “+customerId); System.out.println(“Name of an Customer is “+customerName); System.out.println(“Phone of an Customer is “+customerPhone); System.out.println(“Postcode of an Customer is “+customerPostcode); public static void main(String args ) Customer customerObject = new Customer(); customerObject. displayDetails(); 1、 public static class V1 int a; void m1() System.out.println(a); public static void main(String s) V1 v=new V1(); v.a=10; v.m1(); 程序分析:判断下列程序运行结果 示例:使用成员数据和方法 class Box double width; double height; double depth; double volume() return width * height * depth; public class BoxDemo public static void main(String args) Box mybox = new Box(); double vol; / 给盒子的实例变量赋值 mybox.width = 10; mybox.height = 20; mybox.depth = 15; /返回盒子的体积 vol = mybox.volume(); System.out.println(“Volume is “ + vol); 圆点操作符 public void outValue( ) System.out.println(“name:“+name); System.out.println(“sex:“+sex); System.out.println(“age:“+age); System.out.println(“height:“+height); System.out.println(“weight:“+weight); public static void main(String args ) Person zhangsan=new Person( ); =“zhangsan“; zhangsan.sex=“male“; zhangsan.age=19; zhangsan.height=1.76f; zhangsan.weight=76; zhangsan.outValue( ); 下面程序的功能是通过调用方法max()求给定的二个整数的最大值, 请将其补充完 整。 练习 public static void main(String s) int a,b;/定义两个变量,存放您输入的两个数字 System.out
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 在校园里过元宵节的作文7篇范文
- 全方位产品需求分析文档模板
- 厨房砧板知识培训课件
- 奥体消防安全知识培训课件
- 大黄敷脐课件
- 大风天气防范火灾课件
- 2025商业写字楼租赁合同范本
- 2025农业植保产品买卖合同
- 卷烟营销知识培训课件
- 2025橄榄树种子批发合同
- 金属冶炼中的成本管理与控制
- 特殊学生档案
- SMT主管岗位工作职责
- 2024年甘肃省武威市中考数学真题含解析
- 2024年分割公司股权离婚协议正规范本
- DB22T 277-2011 建筑电气防火检验规程
- 广东省执法证网上考试系统题库及答案
- 苏教版四上劳技表格式教案
- 《建筑设计基础》全套教学课件
- 苏教版(2024)科学一年级上册教学设计(附教材目录)
- 山东省潍坊市寒亭区2023-2024学年七年级上学期9月入学测试数学试卷(含答案)
评论
0/150
提交评论