第4章-封装与类_第1页
第4章-封装与类_第2页
第4章-封装与类_第3页
第4章-封装与类_第4页
第4章-封装与类_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第4章使用封装和类、数据抽象和数据隐藏技术创建和使用类访问属性和方法的对象的重载配置方法,以及使用this引用创建和使用static方法和属性使用类的组合方法包,本章中的知识点、面向过程的编程将问题视为需要完成的一系列功能模块。函数(表示高级语言实现功能模块中的实体)用于执行这些任务。故障诊断的重点是编写函数。函数面向过程,重点关注如何根据指定的条件完成指定的任务。在多函数程序中,许多重要数据放置在全局数据区域中,因此所有函数都可以访问这些数据(每个函数也可以有自己的本地数据),将这些数据与数据操作分开的结构可以轻松地更改全局数据(无需协商),从而不能保证程序的准确性。(David aser、

2、Northern Exposure(美国电视剧)、Northern Exposure(美国电视剧)、流程导向、面向对象的编程将数据和数据的操作行为封装在一个相互依赖且不可分割的整体类中)。类中的大多数数据只能用于此类的行为,类提供与外部世界通信的公共外部接口。类是使用类创建对象的抽象数据类型。程序的执行,表示为一系列对象之间的交互。对象通过公共接口通信以完成系统功能。面向对象程序模块之间的关系简单,程序独立性高,数据安全性好。面向对象的特征包括封装、继承和多态。面向对象,这样做有什么好处?将程序分成对象可以实现功能的统一,不同的对象负责不同的功能。封装:将对象的属性和操作组合为单独的整体,并尽

3、可能隐藏对象的内部详细信息。这整个我们称为“类”。“封装”的两个含义是将对象的所有属性和所有服务结合起来,形成不可分割的独立单元,从而实现“信息隐藏”,尽可能隐藏对象的内部细节,在外部形成边界,只有有限的外部接口才能与外部联系。4.1封装的意义,类用作描述相同类型对象的抽象数据类型。面向对象的编程是定义这些类。4.2类定义,定义1类的语法格式类的修饰符类类名/类体,使用4.2.1类定义类,使用4.2.1类定义类,public3360公共。任何人都可以直接访问Public公式中的成员变量或方法。个人:个人。Private修饰的成员变量或方法只能从此类中直接访问。具体来说,如果使用public修饰

4、类,则该类可用于其他类,但文件中只能有一个public修饰类,并且文件名必须与公共类名称匹配。快速了解表达式,访问郑智薰静态属性:创建对象。如何创建对象:new关键字。对于类的非静态属性,必须创建实例对象以获取实例的属性。例如:Hotel Hotel=new Hotel();以这种方式创建对象,并创建引用变量hotel和对象设置的指针关系。类的属性、示例酒店问题中的对象和参考的访问方式、对象和参考的关系以及对象可以由多个参考变量指向。Hotel Hotel=new Hotel();Hotel hotel2=hotel/对。如果对象未指向参考变量,则对象会变成垃圾,Java的回收机制会定期回收垃

5、圾对象。引用的注意事项,是酒店问题的对象和引用。对象和参照的关系,变量hotel2参照,什么是配置方法?配置方法是Java在使用new关键字创建对象时调用的方法,用于为对象分配内存空间和初始化类属性。重点介绍了构造方法的创建方法。(1)如果不在类中使用构造方法,则可以对系统使用非参数构造方法。(2)构造函数的基本格式:public类名称()、构造函数方法和(3)Java支持在一个类中创建多个构造函数方法。构造函数方法的参数类型和数量不同。(4)如果创建自己的配置方法,系统默认配置方法将不起作用。这是创建对象时使用的组织方法。您可以使用其他配置方法创建对象。格式:类名指变量名=new类名(参数列

6、表)。例如:Hotel Hotel=new Hotel();/使用无参数配置方法Hotel Hotel=new Hotel( HILTON );/需要创建参数配置方法、配置方法、配置方法注意事项、类中除属性成员外还需要对数据执行操作。这种操作称为“方法”。方法的定义格式:修饰符方法返回值的类型方法名称(参数列表)、类的方法:public void serch()system . out . print ln(我想查看房间的状态信息!);1,public:修改器。public touch up方法表示此方法可以从外部访问。private touch up方法表示此方法只能在类中使用。(程序包)2

7、,void:表示方法返回值的类型。3、检索:方法名。4、这种方法是没有参数的方法。类的方法:this:表示指向调用方法的当前对象的引用。4.3.2 this参考,1,定义汽车类Car的成员为颜色、轮胎数量和操作方法。成员使用品牌:String brand颜色:String color为什么使用String?例如,定义颜色“红色”的方法是字符串类型轮胎数:int num不需要Num初始化值。因为汽车轮胎的数量不确定,所以有4,6,8。奔跑行为(方法、函数)void run()方法执行输出语句。跷跷板。);必须创建具有参数的配置方法,以创建对象并初始化品牌、颜色和轮子数。完成练习,2,教科书P81

8、页2问题的代码,分析结果。练习,1,Static关键字2,代码块3,类组合,第4.5节的授课内容,第4.5节的复习(分析器),hotel1,hotel2,堆栈,堆栈, hilt,4.5之前的节包含了类中的成员类范围的成员称为静态成员,使用static关键字声明。使用类创建对象时,将打开存储在堆内存中的对象,并根据类模板为每个常规成员打开空间。也就是说,每个物件都有其自己的一般成员。静态成员由该类创建的所有对象共享静态成员,不再为静态成员单独分配空间。4.5 Static成员和方法信息、Static关键字、hotel1、hotel2、堆栈、堆栈、 hilton rooms 10020、 ruji

9、a room s520,常规成员将创建对象从另一个角度来看,静态成员生成得更早。2、静态成员由类中的所有对象共享。(master)3,静态方法不能使用非静态变量,静态方法不能出现this关键字。(主)4,静态成员和方法习惯于使用类名进行访问,是常规成员和方法。必须使用对象进行访问。4.5 static使用注意事项,练习编写学生类,包括记录学号、名字、性别、年龄和学生总数的数据成员。(1)制定合理的施工方法。(2)必须创建测试类,创建多个学生对象,并始终在学生总数中记录学生对象数。,4.5.1 static成员,JAVA有两个代码块。(1)配置代码块:创建对象时需要执行的程序,存在于类中。只需使

10、用大括号。注:配置代码块和配置方法之间的区别。1:构造函数与构造函数的区别,构造函数统一初始化所有对象,构造函数初始化这些对象。2:代码块构造的作用:用于提取所有构造方法中的通用信息,如上述练习问题的计数器。4.5.2代码块,JAVA中有两个代码块。(1)构造代码块:创建对象时必须运行的程序,存在于类中。只需使用大括号。请考虑一个问题。如果类包含配置代码块,在创建对象时是先运行配置代码块,还是先运行构造函数?4.5.2代码块、配置代码块、配置代码块、4.5.2静态代码块,使用类时加载到内存中。静态代码是加载类时要执行的代码。静态代码块在加载类时只运行一次。配置方法比常规成员运行得早。静态代码块

11、的格式:静态/静态代码。4.5.2静态代码块、事故问题: (由程序确定)类包含静态成员、静态代码块、配置代码块、非静态成员和构造函数。执行顺序是什么?静态成员,静态代码块,郑智薰静态成员,配置代码,配置方法,public class hotel private static final int height=10;/标高private static final int WIDTH=12/房间数private String hotelName/酒店名称private String rooms/酒店房间publich otel()rooms=new stringheightwidth;4.5.4类

12、常量的定义,在JAVA中,类和类之间存在多种关系。其中一个是“composition”关系,即组合关系。通俗地说,一个类的成员是另一个类的引用。例如,汽车类的一个成员可以是引擎类的引用。代表汽车“has a”引擎。在JAVA中,一个类的设计尽可能可重用,必须在另一个类中使用。4.7类组合关系,class GarageTest /停车场类public String name/停车场名称public ParkingSet parkingSet/停车资讯:ParkingSet阵列/ParkingSet :停车类别class ParkingSet/停车类别public boolean status/停

13、车状态public String ParkingNum/停车位编号public Car car/车辆信息class Car /汽车类public String name/车辆品牌public String carnum/车牌号码,例如,设计简单的停车生产系统。要求:(1) a .设计具有“停车场名称(String):”历史停车场名称属性的停车场类Garage。b .停车空间总数(int):停车空间总数请设计成2个。c .停车位(ParkingSet):要设计两个停车位,请使用阵列。方法如下:a .需要构造函数。B.setcar()方法:停车。如果有空位的话,请把车停在停车场。否则,“车库已满。”出现消息。C.query()方法:用于查看有关指定停车位的信息(调用停车位的display方法)。综合练习,设计简单的停车生产系统。要求:(2)设计具有以下属性的停车场类ParkingSet:a .停车状态(boolean):记录停车位是否在使用中。b .停车号码:停车号码。c .停车位的车辆信息(Car):显示停车位的汽车信息。未使用时显示“null”。方法如下:a .需要构造函数。B.setcar()方法:将车辆信息写入停车位。C. searchPS()方法:查询当前停车状态。D.display()方法:显

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论