第十二讲类定义和对象创建佘向飞、王鑫长春工程学院软件学院本讲学习目标•掌握类的定义•掌握声明类对象•掌握类对象含义•运用对象访问成员变量和方法类我们将具有相同的属性及相同行为的一批对象称为类。把具有共同性质的事物的集合称为类类是一个抽象的概念,要利用类的方式解决问题,必须用类创建一个类的实例化的类对象。然后通过类对象去访问类的成员变量,去调用类的成员方法。对问题的抽象应该包括两个方面---数据抽象和代码抽象(或称为行为抽象)前者描述对象的属性或状态,也就是此类区别其他类的物理特征量;后者描述某类对象的共同行为特征或具体的共同功能类时钟(clock)数据抽象(dataabstract)intminute;intsecond;inthoure;代码抽象(codeabstract)ShowTime();SetTime();将抽象得到的数据成员和代码成员相结合,形成一个有机的整体,也就是将数据与操作数据的行为进行有机的结合----封装classclock{inthour,minute,second;voidSetTime(intnewh,intnewm,intnews);voidShowTime();}类定义类必须由用户预先定义,然后用它说明类的实例化对象。类定义或类声明的语法格式如下:[修饰符]class类名[extends父类名][implements接口名]{类成员变量声明;//静态属性类方法声明;//动态属性}定义一个BOX类的类定义的实例。它包括四个成员变量,即String类型的盒子颜色和double类型的盒子宽度、高度及深度。他包括两个成员方法:计算盒子体积的方法volume(),返回一个double类型的计算结果;显示盒子信息的方法BoxMessage(),无返回值。//定义一个Box类classBox{Stringcolor;//盒子的颜色doublewidth;//盒子的宽度doubleheight;//盒子的高度doubledepth;//盒子的深度//计算盒子的体积doublevolume(){returnwidth*height*depth;}voidBoxMessage(){System.out.print(盒子的颜色:+color);System.out.print(盒子的宽度:+width);System.out.print(盒子的高度:+height);System.out.print(盒子的深度:+depth);}}//需要改类对象定义了用户自己的类之后,就可以用这个类去定义这个类对象了,例如:用Box类去定义一个类对象myBoxBoxmyBox;因为类是用户自行声明的复合数据类型,需要用new为其开辟存储空间:myBox=newBox();关键字new之后用的Box(),我们可以认为是为对象myBox开辟一片适用于Box类型的存储空间。当然,定义类对象及其开辟存储区的工作可以在一个语句中完成:BoxmyBox=newBox();此时类对象myBox被创建,它的成员变量的值被赋与了数据类型的隐含初值,如整型是0,实型为0.0复合数据类型为null。在Java中可以用成员运算符“.”访问类对象的各个成员变量。BoxClass.java练习定义一个人类(Person)其属性包含:姓名(name),身份证号(id),性别(gender)年龄(age)。行为有设置姓名(setName)方法,获取姓名(getName),设置和获取身份证号,设置和获取性别,设置和获取年龄,(称为getter,setter方法)。输出个人信息outMessage()方法,再通过测试类(TestClass)使用Person类中的方法及属性。总结:1)类的定义2)对象的创建3)对象中成员变量与成员方法的访问。总结