版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
模块三面向对象-基础知识目录/Contents01类与对象0203封装构造方法04static关键字封装任务二学习目标了解为什么要封装,能够简述封装的概念和没有进行封装可能出现的问题
先定一个小目标!掌握访问控制,能够简述四种访问修饰符的访问权限掌握封装的实现,能够正确设置属性的访问权限,并能使用getter方法和setter方法为属性提供公共访问接口3.2.1为什么要封装封装是指隐藏对象的属性和内部操作的实现细节,只对外公开接口,以控制对程序中属性的读取和修改的访问级别。这种通过接口访问数据的方式,可以在不破坏数据完整性的情况下对其进行修改。3.2.1为什么要封装下面通过一个修改银行账户余额的案例,来演示类在没有进行封装的情况下直接修改属性的值会带来的问题。Example03.java源代码案例演示3.2.1为什么要封装案例运行结果如下图所示。案例演示3.2.1为什么要封装分析Example03.java文件中的类没有进行封装存在的问题。案例演示缺乏访问控制导致安全风险。account对象的属性没有显式地添加任何访问控制权限,此时Java会默认为属性设置为default访问权限,表示该属性可以被同一个包内其他类访问,而包外的任何类都不能访问。这种情况下,外部可以直接访问和修改account对象的属性。缺乏验证逻辑。balance属性允许外部直接修改账户余额,这样设计使得外部可以任意篡改账户余额,而不经过合适的验证和控制。3.2.1为什么要封装解决方法:案例演示对成员变量的访问做出限制,不允许外界随意访问,只提供公共方法控制外部对属性的访问。在方法中引入验证和控制逻辑确保账户余额的数值符合要求。3.2.2访问控制在Java中,访问控制是一种通过访问修饰符来控制类、方法、变量和构造函数的可见性的机制。Java中的访问修饰符有四种,分别是public、protected、default、private。3.2.2访问控制public公共访问修饰符,具有最大的访问权限。用public修饰的类、方法和变量,包内和包外的任何类均可以访问。protectedprivate受保护访问修饰符。用protected修饰的类、方法和变量,包内的任何类以及包外继承了该类的子类可以访问。默认访问修饰符。默认访问权限的类、方法和变量,可以被包内的其他类访问,而包外的任何类都不能对其访问。私有访问修饰符。用private修饰的类、方法和变量,只有本类可以访问,而包内包外的其他类均不能对其访问。default3.2.2访问控制四种访问修饰符的访问范围。访问修饰符同一类中同一包中子类中不同包不同类public√√√√protected√√√–default√√––private√–––3.2.3封装的实现类的封装是指将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象的内部信息,而是通过该类提供的指定方法实现对内部信息的操作和访问。实现类的封装需要进行以下几个操作。(1)成员变量私有化。将类的成员变量声明为私有,即使用private修饰,以限制外部类中对成员的直接访问。3.2.3封装的实现(2)提供公共访问方法。为私有成员变量提供公共的访问方法,通常包括获取成员变量值的getter方法和设置成员变量值的setter方法。getter方法和setter方法定义格式://getter方法public返回类型get变量名(){return变量名;}//setter方法publicvoidset变量名(参数类型参数名){this.变量名=参数名;}3.2.3封装的实现案例演示修改文件Example03,使用private修饰符修饰accountNumber属性和balance属性,并为其提供公共访问方法setter和getter,以此实现类的封装。Example04.java源代码3.3.3封装的实现案例演示案例的运行结果如下图所示。3.2.3封装的实现多学一招:实体JavaBean在面向对象编程中,经常需要定义一种用来表示实体对象的Java类,这种类被称为实体JavaBean,它是数据封装的一个体现。实体JavaBean的主要目的是用来封装和操作数据,通常与数据库中的表或者其他数据源中的记录相对应。3.2.3封装的实现实体JavaBean的特点。类中的成员变量都为私有,并且要对外提供相应的getter方法和setter方法。类中必须有一个公共的无参构造方法。类中可以提供带有参数的构造方法,便于创建对象初始化属性值。根据具体需求,类中可以添加其他方法,例如,重写toString()方法等。在实际开发中,实体JavaBean仅仅用来封装数据,只提供对数据进行存和取的方法,而对数据的其他处理操作交给其他类来完成,以实现数据和数据业务处理的分离。多学一招:实体JavaBean【案例3-1】打印购物小票当顾客在超市购物结账时,收银员会提供一张购物小票,上面会列出顾客购买的商品数量、单价、小计和总计等购物信息,以供顾客核对。本案例要求编写一个模拟打印购物小票的程序,收银员输入顾客购买商品的种类数后,依次输入商品名称、单价和数量。输入完成后打印购物小票,包括商品的名称、单价、数量、小计和总计,小计是指某种商品一共所花金额。案例描述【案例3-1】打印购物小票案例效果任务小结本节课主要学习了封装的概念与意义(隐藏数据、提供安全接口)、四种访问修饰符的权限范围
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 理发剪刀营销方案(3篇)
- 石膏墙裙施工方案(3篇)
- 简爱酸奶营销方案(3篇)
- 美式客厅施工方案(3篇)
- 茶田营销方案(3篇)
- 装修木纹施工方案(3篇)
- 车辆前方施工方案(3篇)
- 铁轨轨道施工方案(3篇)
- 露天清吧营销方案(3篇)
- 高温下施工方案(3篇)
- 2026四川成都市双流区招聘政府雇员14人考试备考题库及答案解析
- 2026年江西电力职业技术学院单招职业技能考试题库带答案详解
- 2026年常州机电职业技术学院单招职业倾向性考试题库带答案详解(完整版)
- 2026年宁夏石嘴山市单招职业适应性考试题库附参考答案详解(综合卷)
- 幼儿园内部控制工作制度
- 眉山天府新区2026年上半年公开招聘专职网格管理员(77人)考试参考试题及答案解析
- 2026年复产复工安全生产部署专题会议纪要
- 出水井施工方案(3篇)
- GB/T 26953-2025焊缝无损检测渗透检测验收等级
- 基于性能导航之飞行学院-pbn运行介绍
- 2022年高考物理广东卷真题及答案
评论
0/150
提交评论