




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
回顾,循环语句while、do-while、for的区别是什么?,int i = 0, j = 0; while(i4) System.out.println(“*“); i+; continue; System.out.println(“*“); j+; i+; ,* * * * * * *,写出运行结果,输出,预习检查,类与对象的关系是什么? 定义一个类的语法是什么? 如何创建一个类的对象?,本章任务,以OO方式实现: Accp学校类,描述Accp中心基本信息 学生类,输出学生信息 教员类,输出教员信息,面向对象编程,掌握类和对象的特征 理解封装 会创建和使用对象,本章目标,万物皆对象,世界是由什么组成的?,身边的对象,布兰尼,朱丽叶,顾客 姓名:朱丽叶 年龄:28 体重:52千克 操作: 购买商品,姓名:布兰尼 职衔:收银员 年龄:35 体重:60千克 操作: 收款 打印账单,对象的特征属性,属性对象具有的各种特征 每个对象的每个属性都拥有特定值 例如:布兰尼和朱丽叶的体重不一样,60kg,布兰尼,属性,35岁,对象的特征方法,方法对象执行的操作,打单,收银,方法,刷卡,对象的属性和方法,列出尼古拉斯凯奇驾驶的这辆法拉利F360 Spider的属性和方法 列出小狗对象的属性和方法,属性: 品牌:法拉利 型号:F360 Spider 颜色:黄色 价格:380万元 方法: 发动 停止 加速,属性: 颜色:白色 方法: 叫 跑 吃,小结1,说一说教室里的对象 描述他们的属性和方法,颜色:黑色 品牌:BENQ 投影,姓名:张三 年龄:20 学习,类型:白炽灯 开 关 变亮 变暗,材制: 木质 支撑物品,封装,对象同时具有属性和方法两项特性 对象的属性和方法通常被封装在一起,共同体现事物的特性, 二者相辅相承,不能分割,谁看见过只有“完好的零件和颜色”而不能开动的汽车?,封装的示例,接口,采购经理,罗杰斯先生,法拉力公司,.,迪斯尼汽车公司,.,市场经理,雪莉女士,要求,封装的示例,有选择地提供数据,法拉力公司,迪斯尼汽车公司,封装的示例,实体法拉力公司,实体迪斯尼汽车公司,Auti Ltd,.,Buto Ltd,.,从对象抽象出“类”,抽取出下列对象的属性和方法的共同特征,轿车,顾客,类,顾客类 轿车类 ,类是模子,确定对象将会拥有的特征(属性)和行为(方法),类是对象的类型 不同于int类型:具有方法,各种口味的球状冰淇淋,球状冰淇淋模子,类,类是用于组合各个对象所共有操作和属性的一种机制,形状类,动物类,汽车类,类的示例,“类是具有相同属性和行为的一组对象的集合”,类和对象的区别,类是概念模型, 定义对象的所 有特性和所需 的操作,对象是真实的模型,类定义实体,对象是实际的实体,小结2,类和对象有什么区别呢? 类是抽象的概念,仅仅是模板,比如说:“人” 对象是一个你能够看得到、摸得着的具体实体,比如:“小布什”,小布什,普京,克林顿,Java 是面向对象的语言,所有Java程序都以类class为组织单元 关键字class定义自定义的数据类型,public class HelloJava public static void main(String args) System.out.println(“使用Java语言理解程序逻辑“); ,Java类模板,类将现实世界中的概念模拟到计算机程序中,public class 类名 /定义属性部分 属性1的类型 属性1; 属性2的类型 属性2; 属性n的类型 属性n; /定义方法部分 方法1; 方法2; 方法m; ,定义类,定义一个类的步骤 1、定义类名 2、编写类的属性 3、编写类的方法,class name type variable1; type variableN; type methodname1(parameter-list) /方法体 type methodnameN(parameter-list) /方法体 ,Java中定义类的通用格式:,成员变量(对象属性),成员方法 (对象行为或操作),类示例,在类中,属性是通过成员变量体现的,而操作是用成员函数(又称为方法)实现的。,代码示例,如果要对变量进行操作, class Test int a=10; int b=20; int c; void add() c=a+b; ,如果将“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、不能包含空格或“.”号,代码错误,类示例,定义一个“人”类 Class Person String name,sex; Int age; Float height,weight; ,类中的方法,方法的名称,参数列表,方法的主体,方法返回的对象类 型或原始类型,类中的方法,语法 ( , ,) 其中, 是方法返回值的数据类型 是用户自定义的方法名称 方法的参数列表是一组变量声明。 是方法的主体,类中的方法,不能为 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; ,下面是一个类的定义,请将其补充完整。 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),对象表示现实世界中某个具体的事物 抽象是从特定的实例中抽取共同的性质以形成一般化概念的过程 对象具有两方面的含义: 在现实世界中: 是客观世界中的一个实体 在计算机世界中: 是一个可标识的存储区域,对象,类和对象,类是具有共同属性和行为的对象的抽象 类可以定义为数据和方法的集合 类也称为模板,因为它们提供了对象的基本框架,类,对象,抽象,实例化,属性或状态,操作或行为,数据或变量,方法,封装的实体=数据+方法,对象,类是抽象,而对象是具体(实例化)。 对象的创建: 创建对象的过程就是实例化类的过程 创建的步骤: 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).,对象的使用,使用对象的变量 通过使用运算符“.”,对象可以实现对自己的变量的访问。 语法: 对象名.变量名 例如People类的对象galen,就可以使用:,来访问变量名name了。,调用对象的方法,使用对象的方法: 通过运算符“.”来调用类的方法,当对象调用方法时,方法中出现的成员变量就是指该对象的成员变量。 语法: 对象名.方法名(参数),实例分析,任务单,实例分析,步骤1:说明类,public class Customer ,实例分析,步骤2:定义类的变量,public class Customer public String customerId; public String customerName; public String customerPhone; public String customerPostcode; ,实例分析,步骤3:说明类中的方法,public class Customer public String customerId; public String customerName; public String customerPhone; public String customerPostcode; public void displayDetails() /写入显示顾客的信息的代码 ,实例分析,步骤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() /写入显示顾客的信息的代码 ,实例分析,步骤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); ,实例分析,步骤6:编写main()方法 步骤7:调用方法 步骤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.println(“请任意输入两个数:“); Scanner input =new Scanner(System.in); a=input.nextInt(); b=input.nextInt();/将键盘输入的两个数,分别赋给了变量a和b Max m=new Max(); m.x=a; m.y=b; System.out.println(“较大值是:“+m.bj(); public static class Max int x;int y;int max; int bj() if (xy)max
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省德州市武城县实验中学、武城县第二中学2024-2025学年八年级上学期第一次联考历史试卷(含答案)
- 湖南省邵阳市2025-2026学年高一上学期9月联考语文试题(含答案)
- 部门级安全培训计划课件
- 《工程施工土建监理建筑监理资料》某市国家税务局办公楼装饰装修工程施工组织设计
- 部门安全教育培训课件
- 部门主任入场安全培训课件
- 避免意外伤害的课件
- 碳化土壤生态功能退化-洞察及研究
- 基于多模态数据融合的出血时间预测系统可靠性验证方法
- 基于光谱分析的复合型制冷剂混合气体识别技术瓶颈突破
- 火力发电厂节水导则DLT783-2023年
- 艾滋病梅毒丙肝检测与解释
- GB/T 22076-2008气动圆柱形快换接头插头连接尺寸、技术要求、应用指南和试验
- GB/T 12325-2008电能质量供电电压偏差
- CJJ28-2014城镇供热管网工程施工及验收规范
- 三字经全文带拼音注释打印版
- 函数的概念学习任务单-高一上学期数学人教A版(2019)必修第一册
- 产品技术规格书模板
- 《绿色建筑评价标准》解读
- 小学数学 北师大版 六年级上册 第二单元第1课时《分数混合运算(一)》 课件
- 《冷冲压工艺与模具设计》完整版ppt课件全套教程
评论
0/150
提交评论