JAVA:类和对象.ppt

上传人:小飞机 文档编号:5436269 上传时间:2023-07-06 格式:PPT 页数:64 大小:1.68MB
返回 下载 相关 举报
JAVA:类和对象.ppt_第1页
第1页 / 共64页
JAVA:类和对象.ppt_第2页
第2页 / 共64页
JAVA:类和对象.ppt_第3页
第3页 / 共64页
JAVA:类和对象.ppt_第4页
第4页 / 共64页
JAVA:类和对象.ppt_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《JAVA:类和对象.ppt》由会员分享,可在线阅读,更多相关《JAVA:类和对象.ppt(64页珍藏版)》请在三一办公上搜索。

1、回顾,循环语句while、do-while、for的区别是什么?,int i=0,j=0;while(i4)(*);i+;continue;(*);j+;i+;,*,写出运行结果,输出,预习检查,类与对象的关系是什么?定义一个类的语法是什么?如何创建一个类的对象?,本章任务,以OO方式实现:Accp学校类,描述Accp中心基本信息学生类,输出学生信息教员类,输出教员信息,面向对象编程,掌握类和对象的特征理解封装会创建和使用对象,本章目标,万物皆对象,世界是由什么组成的?,身边的对象,布兰尼,朱丽叶,顾客姓名:朱丽叶年龄:28体重:52千克操作:购买商品,姓名:布兰尼职衔:收银员年龄:35体重:

2、60千克操作:收款打印账单,对象的特征属性,属性对象具有的各种特征每个对象的每个属性都拥有特定值例如:布兰尼和朱丽叶的体重不一样,60kg,布兰尼,属性,35岁,对象的特征方法,方法对象执行的操作,打单,收银,方法,刷卡,对象的属性和方法,列出尼古拉斯凯奇驾驶的这辆法拉利F360 Spider的属性和方法列出小狗对象的属性和方法,属性:品牌:法拉利 型号:F360 Spider 颜色:黄色 价格:380万元方法:发动 停止 加速,属性:颜色:白色方法:叫 跑 吃,小结1,说一说教室里的对象描述他们的属性和方法,颜色:黑色品牌:BENQ投影,姓名:张三年龄:20学习,类型:白炽灯开关变亮变暗,材

3、制:木质支撑物品,封装,对象同时具有属性和方法两项特性对象的属性和方法通常被封装在一起,共同体现事物的特性,二者相辅相承,不能分割,谁看见过只有“完好的零件和颜色”而不能开动的汽车?,封装的示例,接口,采购经理,罗杰斯先生,法拉力公司,.,迪斯尼汽车公司,.,市场经理,雪莉女士,要求,封装的示例,有选择地提供数据,法拉力公司,迪斯尼汽车公司,封装的示例,实体法拉力公司,实体迪斯尼汽车公司,Auti Ltd,.,Buto Ltd,.,从对象抽象出“类”,抽取出下列对象的属性和方法的共同特征,轿车,顾客,类,顾客类轿车类,类是模子,确定对象将会拥有的特征(属性)和行为(方法),类是对象的类型不同于

4、int类型:具有方法,各种口味的球状冰淇淋,球状冰淇淋模子,类,类是用于组合各个对象所共有操作和属性的一种机制,形状类,动物类,汽车类,类的示例,“类是具有相同属性和行为的一组对象的集合”,类和对象的区别,类是概念模型,定义对象的所 有特性和所需 的操作,对象是真实的模型,类定义实体,对象是实际的实体,小结2,类和对象有什么区别呢?类是抽象的概念,仅仅是模板,比如说:“人”对象是一个你能够看得到、摸得着的具体实体,比如:“小布什”,小布什,普京,克林顿,Java 是面向对象的语言,所有Java程序都以类class为组织单元关键字class定义自定义的数据类型,public class Hell

5、oJava public static void main(String args)(使用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(param

6、eter-list)/方法体,Java中定义类的通用格式:,成员变量(对象属性),成员方法(对象行为或操作),类示例,在类中,属性是通过成员变量体现的,而操作是用成员函数(又称为方法)实现的。,代码示例,如果要对变量进行操作,class Testint a=10;int b=20;int c;void add()c=a+b;,如果将“c=a+b;”写在add()方法之外,就是不合法的,如下:class Testint a=10;int b=20;int c;c=a+b;/不合法的,编译不能通过void add(),常见错误,public class.Book String bookName;S

7、tring authorName;int pageNum;boolean isAvailable;,类命名规则:1、不能使用Java关键字2、首字母可以为字母,也可以是“_”或“$”(建议不要这样)3、不能包含空格或“.”号,代码错误,类示例,定义一个“人”类Class PersonString name,sex;Int age;Float height,weight;,类中的方法,方法的名称,参数列表,方法的主体,方法返回的对象类型或原始类型,类中的方法,语法(,)其中,是方法返回值的数据类型 是用户自定义的方法名称方法的参数列表是一组变量声明。是方法的主体,类中的方法,不能为 Java 中

8、的关键字,不能包含空格或点号“.”,可以下划线“_”、字母或“$”符号开头,方法的命名规则:,类中的方法,class Book String bookName;String authorName;int nopages;boolean available;void isAvailable()if(available=true)(有这本书);.,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)re

9、turn 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.下列方法定

10、义中,正确的是(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 Circledouble 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.下面是一个类的定义,请将其补充

11、完整。_ A String s;_ int a=666;A(String s1)s=s1;static int geta()return a;,(class static),对象表示现实世界中某个具体的事物抽象是从特定的实例中抽取共同的性质以形成一般化概念的过程对象具有两方面的含义:在现实世界中:是客观世界中的一个实体 在计算机世界中:是一个可标识的存储区域,对象,类和对象,类是具有共同属性和行为的对象的抽象类可以定义为数据和方法的集合类也称为模板,因为它们提供了对象的基本框架,类,对象,抽象,实例化,属性或状态,操作或行为,数据或变量,方法,封装的实体=数据+方法,对象,类是抽象,而对象是具

12、体(实例化)。对象的创建:创建对象的过程就是实例化类的过程创建的步骤:1、对象的声明2、对象的实例化及对象的初始化,创建对象,声明对象:类名 对象名;,例如:存在一个类:class Peopleint a;String name;然后即可声明该类的对象:People galen;,对象的实例化及初始化 对象名=new 类名();,关键字 new 通常称为创建运算符,用于分配对象内存,并将该内存初始化为缺省值。,也可以利用下面的语法把声明和实例化用一条语句:类名 对象名=new 类名();,创建对象,例如,实例化上面已经声明的galen对象:galen=new People();,例如 Peop

13、le 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

14、 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

15、 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,以下为其构造方法的声明,其中正确的是(

16、B)。A)void Student(int x).B)Student(int x).C)s(int x).D)void s(int x).,对象的使用,使用对象的变量通过使用运算符“.”,对象可以实现对自己的变量的访问。语法:对象名.变量名例如People类的对象galen,就可以使用:galen.name,来访问变量名name了。,调用对象的方法,使用对象的方法:通过运算符“.”来调用类的方法,当对象调用方法时,方法中出现的成员变量就是指该对象的成员变量。语法:对象名.方法名(参数),实例分析,任务单,实例分析,步骤1:说明类,public class Customer,实例分析,步骤2:定

17、义类的变量,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 voi

18、d 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()/

19、写入显示顾客的信息的代码,实例分析,步骤5:编写代码显示测试值,public class Customer public String customerId;public String customerName;public String customerPhone;public String customerPostcode;public Customer()customerId=“C0001;customerName=“张三;customerPhonecustomerPostcode=“410000;,public void displayDetails()System.out.print

20、ln(“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 custome

21、rId;public String customerName;public String customerPhone;public String customerPostcode;public Customer()customerId=“C0001;customerName=“张三;customerPhonecustomerPostcode=“410000;,public void displayDetails()System.out.println(“Id of an Customer is+customerId);System.out.println(“Name of an Custome

22、r 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.ou

23、t.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

24、.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 v

25、oid main(String args)Person zhangsan=new Person();zhangsan.name=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(请任意输入两个数

26、:);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 Maxint x;int y;int max;int bj()if(xy)max=y;return max;,练习,下面程序的功能是通过调用方法max()求给定的三个数的最大值,请将其补充完 整。(max(i1,i2,i3)static)pub

27、lic class Class1 public static void main(String args)int i1=1234,i2=456,i3=-987;int MaxValue;MaxValue=_;(三个数的最大值:+MaxValue);public _ int max(int x,int y,int z)int temp1,max_value;temp1=xy?x:y;max_value=temp1z?temp1:z;return max_value;,给方法传参数,传值调用引用调用,传值调用,calling()int percent=10;System.out.println(“

28、Before:percent=”+percent);called(percent);System.out.println(“After:percent=”+percentt);,called(int x)x=3*x;System.out.println(“End of method:x=”+x);,10,30,percent=,x=,引用调用,calling()Person harry=new Person();called(harry);,called(Person x)x.raiseSalary(200);,harry=,x=,Person,面向对象(OO)的优点,便于程序模拟现实世界中的实体用“类”表示实体的特征和行为隐藏细节对象的行为和属性被封装在类中,外界通过调用类的方法来获得,不需关注内部细节如何实现可重用可以通过类的模板,创建多个类的对象,数据类型使用区别,什么是类?什么是对象?类和对象的区别是什么?如何定义一个类、类的属性和方法?如何创建类的对象?toString()方法的优点是什么?数据类型有哪两种?区别是什么?,总结,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号