当前位置: 首页 > news >正文

营销公司有哪些宁波受欢迎全网seo优化

营销公司有哪些,宁波受欢迎全网seo优化,深圳附近推广,网页设计教程网站目录 9.1 为什么需要封装#xff1f; 而“高内聚#xff0c;低耦合”的体现之一#xff1a; 9.2 何为封装性#xff1f; 9.3 Java如何实现数据封装 9.4 封装性的体现 9.4.1 成员变量/属性私有化 实现步骤#xff1a; 成员变量封装的好处#xff1a; 9.4.2 私有化…目录 9.1 为什么需要封装 而“高内聚低耦合”的体现之一 9.2 何为封装性 9.3 Java如何实现数据封装 9.4 封装性的体现 9.4.1 成员变量/属性私有化 实现步骤 成员变量封装的好处 9.4.2 私有化方法 9.5 练习 练习1 练习2 9.1 为什么需要封装 我要用洗衣机只需要按一下开关和洗涤模式就可以了。有必要了解洗衣机内部的结构吗有必要碰电动机吗我要开车我不需要懂离合、油门、制动等原理和维修也可以驾驶。 客观世界里每一个事物的内部信息都隐藏在其内部外界无法直接操作和修改只能通过指定的方式进行访问和修改。随着我们系统越来越复杂类会越来越多那么类之间的访问边界必须把握好面向对象的开发原则要遵循“高内聚、低耦合”。 高内聚、低耦合是软件工程中的概念也是UNIX 操作系统设计的经典原则。 内聚指一个模块内各个元素彼此结合的紧密程度耦合指一个软件结构内不同模块之间互连程度的度量。内聚意味着重用和独立耦合意味着多米诺效应牵一发动全身。 而“高内聚低耦合”的体现之一 高内聚类的内部数据操作细节自己完成不允许外部干涉低耦合仅暴露少量的方法给外部使用尽量方便外部调用。 9.2 何为封装性 所谓封装就是把客观事物封装成抽象概念的类并且类可以把自己的数据和方法只向可信的类或者对象开放向没必要开放的类或者对象隐藏信息。 通俗的讲把该隐藏的隐藏起来该暴露的暴露出来。这就是封装性的设计思想。 9.3 Java如何实现数据封装 实现封装就是控制类或成员的可见性范围。这就需要依赖访问控制修饰符也称为权限修饰符来控制。 权限修饰符public、protected、缺省、private。具体访问范围如下 修饰符本类内部本包内其他包的子类其他包非子类private√×××缺省√√××protected√√√×public√√√√ 具体修饰的结构 外部类public、缺省成员变量、成员方法、构造器、成员内部类public、protected、缺省、private9.4 封装性的体现 9.4.1 成员变量/属性私有化 概述私有化类的成员变量提供公共的get和set方法对外暴露获取和修改属性的功能。 实现步骤 ① 使用 private 修饰成员变量 private 数据类型 变量名 代码如下 public class Person {private String name;private int age;private boolean marry; }② 提供 getXxx方法 / setXxx 方法可以访问成员变量代码如下 public class Person {private String name;private int age;private boolean marry;public void setName(String n) {name n;}public String getName() {return name;}public void setAge(int a) {age a;}public int getAge() {return age;}public void setMarry(boolean m){marry m;}public boolean isMarry(){return marry;} }③ 测试 public class PersonTest {public static void main(String[] args) {Person p new Person();//实例变量私有化跨类是无法直接使用的/* p.name 张三;p.age 23;p.marry true;*/p.setName(张三);System.out.println(p.name p.getName());p.setAge(23);System.out.println(p.age p.getAge());p.setMarry(true);System.out.println(p.marry p.isMarry());} }成员变量封装的好处 让使用者只能通过事先预定的方法来访问数据从而可以在该方法里面加入控制逻辑限制对成员变量的不合理访问。还可以进行数据检查从而有利于保证对象信息的完整性。便于修改提高代码的可维护性。主要说的是隐藏的部分在内部修改了如果其对外可以的访问方式不变的话外部根本感觉不到它的修改。例如Java8-Java9String从char[]转为byte[]内部实现而对外的方法不变我们使用者根本感觉不到它内部的修改。 开心一笑 A man and woman are in a computer programming lecture. The man touches the womans breasts.Hey! she says. Those are private!The man says, But were in the same class! 9.4.2 私有化方法 /*** * Description 自定义的操作数组的工具类* author 尚硅谷-宋红康 Email:shkstart126.com* version**/ public class ArrayUtil {/*** * Description 求int型数组的最大值* author 尚硅谷-宋红康* param arr* return*/public int max(int[] arr) {int maxValue arr[0];for(int i 1;i arr.length;i){if(maxValue arr[i]){maxValue arr[i];}}return maxValue;}/*** * Description 求int型数组的最小值* author 尚硅谷-宋红康* param arr* return*/public int min(int[] arr){int minValue arr[0];for(int i 1;i arr.length;i){if(minValue arr[i]){minValue arr[i];}}return minValue;}/*** * Description 求int型数组的总和* author 尚硅谷-宋红康* param arr* return*/public int sum(int[] arr) {int sum 0;for(int i 0;i arr.length;i){sum arr[i];}return sum;}/*** * Description 求int型数组的元素的平均值* author 尚硅谷-宋红康* param arr* return*/public int avg(int[] arr) {int sumValue sum(arr);return sumValue / arr.length;}// 创建一系列重载的上述方法// public double max(double[] arr){}// public float max(float[] arr){}// public byte max(byte[] arr){}/*** * Description 遍历数组* author 尚硅谷-宋红康* param arr*/public void print(int[] arr) {for(int i 0;i arr.length;i){System.out.print(arr[i] );}System.out.println();}/*** * Description 复制数组arr* author 尚硅谷-宋红康* param arr* return*/public int[] copy(int[] arr) {int[] arr1 new int[arr.length];for(int i 0;i arr.length;i){arr1[i] arr[i];}return arr1;}/*** * Description 反转数组* author 尚硅谷-宋红康* param arr*/public void reverse(int[] arr) {for(int i 0,j arr.length - 1;i j;i,j--){int temp arr[i];arr[i] arr[j];arr[j] temp;}}/*** * Description 数组的排序* author 尚硅谷-宋红康* param arr* param desc 指明排序的方式。 ascend:升序 descend:降序*/public void sort(int[] arr,String desc) {if(ascend.equals(desc)){//if(desc.equals(ascend)){for (int i 0; i arr.length - 1; i) {for (int j 0; j arr.length - 1 - i; j) {if (arr[j] arr[j 1]) { // int temp arr[j]; // arr[j] arr[j 1]; // arr[j 1] temp;swap(arr,j,j1);}}}}else if (descend.equals(desc)){for (int i 0; i arr.length - 1; i) {for (int j 0; j arr.length - 1 - i; j) {if (arr[j] arr[j 1]) { // int temp arr[j]; // arr[j] arr[j 1]; // arr[j 1] temp;swap(arr,j,j1);}}}}else{System.out.println(您输入的排序方式有误);}}private void swap(int[] arr,int i,int j){int temp arr[i];arr[i] arr[j];arr[j] temp;}/*** * Description 查找指定的value值在arr数组中出现的位置* author 尚硅谷-宋红康* param arr* param value* return 返回value值出现的位置 或 -1未找到*/public int getValue(int[] arr, int value) {//方法线性查找for(int i 0;i arr.length;i){if(value arr[i]){return i;}}return - 1;} } 注意 开发中一般成员实例变量都习惯使用private修饰再提供相应的public权限的get/set方法访问。 对于final的实例变量不提供set()方法。后面final关键字的时候讲 对于static final的成员变量习惯上使用public修饰。 9.5 练习 练习1 创建程序在其中定义两个类Person和PersonTest类。定义如下 用setAge()设置人的合法年龄(0~130)用getAge()返回人的年龄。在PersonTest类中实例化Person类的对象b调用setAge()和getAge()方法体会Java的封装性。 练习2 自定义图书类。设定属性包括书名bookName作者author出版社名publisher价格price方法包括相应属性的get/set方法图书信息介绍等。
http://www.yingshimen.cn/news/112987/

相关文章:

  • 最新网站源码石家庄电力设计公司
  • 建设网站的费用调研用dw做的网站容易变形
  • 做网站六安沈阳网站建设定制
  • 房地产网站方案属于网站seo分析什么软件
  • 国外网站模板下载销售平台网站建设
  • 网站建设好的公司专业服务wordpress后台登录页
  • 海尔集团企业网站建设分析百度官方优化软件
  • 北京东站wordpress自动赚钱
  • 上海设计网站管理系统入口wifi
  • jsp网站怎么做的好看最好的网站建设推广
  • 全国有哪些做服装的网站桂林网站建设费用
  • 小程序做跳转微网站构建 物流网
  • 2021年有没有人给个网站ssh框架做的家政服务网站
  • 自适应企业网站个人网页英文
  • 行业网站建设公司推荐银川网站建设ctocio
  • wordpress手机端网站模板下载失败公司网站建设会计上怎么处理
  • 手机网络专业整站优化
  • 个股期权系统网站开发财经最新消息今天
  • 企业官网响应式网站网站开发的论文
  • 厦门规划建设局网站南昌网站制作公司
  • wordpress 作者idseo服务顾问
  • 大型网站开发语言排名杭州网站开发响应式
  • 做网站排名费用威海网站优化推广
  • 网站开发 卓优科技大朗网站建设
  • 诸暨制作网站的公司有哪些wordpress 备案信息
  • 门户手机网站模板企业网站的建立要做的准备
  • asp.net+h5网站开发那个餐饮网站
  • 网站出错 图片asp网站做文件共享上传
  • 网站开发协议合作网站建设分金手指排名十三
  • 企业级网站开发原理图WordPress高端主题 熊