




免费预览已结束,剩余59页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
回顾,循环语句while、do-while、for的区别是什么?,inti=0,j=0;while(i4)System.out.println(*);i+;continue;System.out.println(*);j+;i+;,*,写出运行结果,输出,预习检查,类与对象的关系是什么?定义一个类的语法是什么?如何创建一个类的对象?,本章任务,以OO方式实现:Accp学校类,描述Accp中心基本信息学生类,输出学生信息教员类,输出教员信息,面向对象编程,掌握类和对象的特征理解封装会创建和使用对象,本章目标,万物皆对象,世界是由什么组成的?,身边的对象,布兰尼,朱丽叶,顾客姓名:朱丽叶年龄:28体重:52千克操作:购买商品,姓名:布兰尼职衔:收银员年龄:35体重:60千克操作:收款打印账单,对象的特征属性,属性对象具有的各种特征每个对象的每个属性都拥有特定值例如:布兰尼和朱丽叶的体重不一样,60kg,布兰尼,属性,35岁,对象的特征方法,方法对象执行的操作,打单,收银,方法,刷卡,对象的属性和方法,列出尼古拉斯凯奇驾驶的这辆法拉利F360Spider的属性和方法列出小狗对象的属性和方法,属性:品牌:法拉利型号:F360Spider颜色:黄色价格:380万元方法:发动停止加速,属性:颜色:白色方法:叫跑吃,小结1,说一说教室里的对象描述他们的属性和方法,颜色:黑色品牌:BENQ投影,姓名:张三年龄:20学习,类型:白炽灯开关变亮变暗,材制:木质支撑物品,封装,对象同时具有属性和方法两项特性对象的属性和方法通常被封装在一起,共同体现事物的特性,二者相辅相承,不能分割,谁看见过只有“完好的零件和颜色”而不能开动的汽车?,封装的示例,接口,采购经理,罗杰斯先生,法拉力公司,.,迪斯尼汽车公司,.,市场经理,雪莉女士,要求,封装的示例,有选择地提供数据,法拉力公司,迪斯尼汽车公司,封装的示例,实体法拉力公司,实体迪斯尼汽车公司,AutiLtd,.,ButoLtd,.,从对象抽象出“类”,抽取出下列对象的属性和方法的共同特征,轿车,顾客,类,顾客类轿车类,类是模子,确定对象将会拥有的特征(属性)和行为(方法),类是对象的类型不同于int类型:具有方法,各种口味的球状冰淇淋,球状冰淇淋模子,类,类是用于组合各个对象所共有操作和属性的一种机制,形状类,动物类,汽车类,类的示例,“类是具有相同属性和行为的一组对象的集合”,类和对象的区别,类是概念模型,定义对象的所有特性和所需的操作,对象是真实的模型,类定义实体,对象是实际的实体,小结2,类和对象有什么区别呢?类是抽象的概念,仅仅是模板,比如说:“人”对象是一个你能够看得到、摸得着的具体实体,比如:“小布什”,小布什,普京,克林顿,Java是面向对象的语言,所有Java程序都以类class为组织单元关键字class定义自定义的数据类型,publicclassHelloJavapublicstaticvoidmain(Stringargs)System.out.println(使用Java语言理解程序逻辑);,Java类模板,类将现实世界中的概念模拟到计算机程序中,publicclass类名/定义属性部分属性1的类型属性1;属性2的类型属性2;属性n的类型属性n;/定义方法部分方法1;方法2;方法m;,定义类,定义一个类的步骤1、定义类名2、编写类的属性3、编写类的方法,classnametypevariable1;typevariableN;typemethodname1(parameter-list)/方法体typemethodnameN(parameter-list)/方法体,Java中定义类的通用格式:,成员变量(对象属性),成员方法(对象行为或操作),类示例,在类中,属性是通过成员变量体现的,而操作是用成员函数(又称为方法)实现的。,代码示例,如果要对变量进行操作,classTestinta=10;intb=20;intc;voidadd()c=a+b;,如果将“c=a+b;”写在add()方法之外,就是不合法的,如下:classTestinta=10;intb=20;intc;c=a+b;/不合法的,编译不能通过voidadd(),常见错误,publicclass.BookStringbookName;StringauthorName;intpageNum;booleanisAvailable;,类命名规则:1、不能使用Java关键字2、首字母可以为字母,也可以是“_”或“$”(建议不要这样)3、不能包含空格或“.”号,代码错误,类示例,定义一个“人”类ClassPersonStringname,sex;Intage;Floatheight,weight;,类中的方法,方法的名称,参数列表,方法的主体,方法返回的对象类型或原始类型,类中的方法,语法(,)其中,是方法返回值的数据类型是用户自定义的方法名称方法的参数列表是一组变量声明。是方法的主体,类中的方法,不能为Java中的关键字,不能包含空格或点号“.”,可以下划线“_”、字母或“$”符号开头,方法的命名规则:,类中的方法,classBookStringbookName;StringauthorName;intnopages;booleanavailable;voidisAvailable()if(available=true)System.out.println(有这本书);.,1.下列方法定义中,正确的是(D)。A)intx(inta,b)return(a-b);B)doublex(inta,intb)intw;w=a-b;C)doublex(a,b)returnb;D)intx(inta,intb)returna-b;2.下列方法定义中,正确的是(D)。A)voidx(inta,intb);return(a-b);B)x(inta,intb)returna-b;C)doublexreturnb;D)intx(inta,intb)returna+b;,3.下列方法定义中,不正确的是(D)。A)floatx(inta,intb)return(a-b);B)intx(inta,intb)returna-b;C)intx(inta,intb);returna*b;D)intx(inta,intb)return1.2*(a+b);4.下列方法定义中,正确的是(A)。A)intx()charch=a;return(int)ch;B)voidx().returntrue;C)intx().returntrue;D)intx(inta,b)returna+b;,类示例,定义一个圆类ClassCircledoublebj=1.0;doubleymj()returenbj*bj*3.14159;,下面是一个类的定义,请将其补充完整。class_Stringname;intage;Student(_s,inti)name=s;age=i;,(StudentString),5.下面是一个类的定义,请将其补充完整。_AStrings;_inta=666;A(Strings1)s=s1;staticintgeta()returna;,(classstatic),对象表示现实世界中某个具体的事物抽象是从特定的实例中抽取共同的性质以形成一般化概念的过程对象具有两方面的含义:在现实世界中:是客观世界中的一个实体在计算机世界中:是一个可标识的存储区域,对象,类和对象,类是具有共同属性和行为的对象的抽象类可以定义为数据和方法的集合类也称为模板,因为它们提供了对象的基本框架,类,对象,抽象,实例化,属性或状态,操作或行为,数据或变量,方法,封装的实体=数据+方法,对象,类是抽象,而对象是具体(实例化)。对象的创建:创建对象的过程就是实例化类的过程创建的步骤:1、对象的声明2、对象的实例化及对象的初始化,创建对象,声明对象:类名对象名;,例如:存在一个类:classPeopleinta;Stringname;然后即可声明该类的对象:Peoplegalen;,对象的实例化及初始化对象名=new类名();,关键字new通常称为创建运算符,用于分配对象内存,并将该内存初始化为缺省值。,也可以利用下面的语法把声明和实例化用一条语句:类名对象名=new类名();,创建对象,例如,实例化上面已经声明的galen对象:galen=newPeople();,例如Peoplegalen=newPeople();,当创建一个类时,只是创建了一种新的数据类型。对象是类的一个实例。,classFruitDemopublicstaticvoidmain(Stringargs)Fruitf=newFruit(true,false,50.0F);,创建对象,对象示例,1.设A为已定义的类名,下列声明A类的对象a的语句中正确的是(D)。A)floatAa;B)publicAa=A();C)Aa=newint();D)staticAa=newA();2设A为已定义的类名,下列声明A类的对象a的语句中正确的是(A)。A)publicAa=newA();B)publicAa=A();C)Aa=newclass();D)aA;3.设X、Y均为已定义的类名,下列声明类X的对象x1的语句中正确的是(C)。A)publicXx1=newY();B)Xx1=X();C)Xx1=newX();D)intXx1;4.设X、Y为已定义的类名,下列声明X类的对象x1的语句中正确的是(A)。A)staticXx1;B)publicXx1=newX(int123);C)Yx1;D)Xx1=X();,5.设A、B均为已定义的类名,下列声明类A的对象a1的语句中正确的是(C)。A)publicAa1=newB();B)Aa1=A();C)Aa1=newA();D)intAa1;6.设A、B为已定义的类名,下列声明A类的对象a1的语句中正确的是(A)。A)staticAa1;B)publicAa1=newA(int123);C)Ba1;D)Aa1=A();7.有一个类Person,以下为其构造方法的声明,其中正确的是(A)。A)publicPerson(intx).B)staticPerson(intx).C)publica(intx).D)voidPerson(intx).8.有一个类Student,以下为其构造方法的声明,其中正确的是(B)。A)voidStudent(intx).B)Student(intx).C)s(intx).D)voids(intx).,对象的使用,使用对象的变量通过使用运算符“.”,对象可以实现对自己的变量的访问。语法:对象名.变量名例如People类的对象galen,就可以使用:,来访问变量名name了。,调用对象的方法,使用对象的方法:通过运算符“.”来调用类的方法,当对象调用方法时,方法中出现的成员变量就是指该对象的成员变量。语法:对象名.方法名(参数),实例分析,任务单,实例分析,步骤1:说明类,publicclassCustomer,实例分析,步骤2:定义类的变量,publicclassCustomerpublicStringcustomerId;publicStringcustomerName;publicStringcustomerPhone;publicStringcustomerPostcode;,实例分析,步骤3:说明类中的方法,publicclassCustomerpublicStringcustomerId;publicStringcustomerName;publicStringcustomerPhone;publicStringcustomerPostcode;publicvoiddisplayDetails()/写入显示顾客的信息的代码,实例分析,步骤4:初始化变量,publicclassCustomerpublicStringcustomerId;publicStringcustomerName;publicStringcustomerPhone;publicStringcustomerPostcode;publicCustomer()customerId=“C0001;customerName=“张三;customerPhonecustomerPostcode=“410000;publicvoiddisplayDetails()/写入显示顾客的信息的代码,实例分析,步骤5:编写代码显示测试值,publicclassCustomerpublicStringcustomerId;publicStringcustomerName;publicStringcustomerPhone;publicStringcustomerPostcode;publicCustomer()customerId=“C0001;customerName=“张三;customerPhonecustomerPostcode=“410000;,publicvoiddisplayDetails()System.out.println(“IdofanCustomeris+customerId);System.out.println(“NameofanCustomeris+customerName);System.out.println(“PhoneofanCustomeris+customerPhone);System.out.println(“PostcodeofanCustomeris+customerPostcode);,实例分析,步骤6:编写main()方法步骤7:调用方法步骤8:编译运行程序,publicclassCustomerpublicStringcustomerId;publicStringcustomerName;publicStringcustomerPhone;publicStringcustomerPostcode;publicCustomer()customerId=“C0001;customerName=“张三;customerPhonecustomerPostcode=“410000;,publicvoiddisplayDetails()System.out.println(“IdofanCustomeris+customerId);System.out.println(“NameofanCustomeris+customerName);System.out.println(“PhoneofanCustomeris+customerPhone);System.out.println(“PostcodeofanCustomeris+customerPostcode);publicstaticvoidmain(Stringargs)CustomercustomerObject=newCustomer();customerObject.displayDetails();,1、publicstaticclassV1inta;voidm1()System.out.println(a);publicstaticvoidmain(Strings)V1v=newV1();v.a=10;v.m1();,程序分析:判断下列程序运行结果,示例:使用成员数据和方法,classBoxdoublewidth;doubleheight;doubledepth;doublevolume()returnwidth*height*depth;,publicclassBoxDemopublicstaticvoidmain(Stringargs)Boxmybox=newBox();doublevol;/给盒子的实例变量赋值mybox.width=10;mybox.height=20;mybox.depth=15;/返回盒子的体积vol=mybox.volume();System.out.println(Volumeis+vol);,publicvoidoutValue()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);publicstaticvoidmain(Stringargs)Personzhangsan=newPerson();=zhangsan;zhangsan.sex=male;zhangsan.age=19;zhangsan.height=1.76f;zhangsan.weight=76;zhangsan.outValue();,下面程序的功能是通过调用方法max()求给定的二个整数的最大值,请将其补充完整。,练习,publicstaticvoidmain(Strings)inta,b;/定义两个变量,存放您输入的两个数字System.ou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度城市更新项目资产转让合同模板
- 2025版皮革材料贸易皮革原料采购合同模板
- 2025版新型蔬菜种植基地土地承包权转让及种植合作协议
- 2025房地产项目竣工验收补充协议
- 2025年度存量房买卖合同-老旧小区改造后交易合同
- 2025版虚拟现实技术应用合同范本下载
- 2025年光伏发电项目土地租赁合同范文
- 2025房地产代理销售协议书:特色小镇文旅地产代理服务
- 2025厂房及设备租赁合同协议书-重工业设备租赁
- 2025年高效节能变电所设备安装及维护服务协议
- 复变函数与积分变换课程教案讲义
- 违反工作纪律保证书
- 不稳定心绞痛的护理查房
- 体能恢复练习课时3:1、连续单脚跳;2、仰卧两头起;3、俯卧撑 教案
- 三年级上册信息技术教案全册
- 《家庭教育学第2版》全套教学课件
- DB1507∕T 107-2024 奶牛乳房炎防治技术规范
- 景区旅游基础设施配套项目清单
- 西师版小学六年级上册数学全册教案(表格式)
- 《胃癌腹膜转移诊治中国专家共识(2023版)》解读
- 星巴克劳动合同范本
评论
0/150
提交评论