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

面试题003:面向对象的特征——封装性

  •  Java规定了4种权限修饰,分别是:private、缺省、protected、public。我们可以使用4种权限修饰来修饰类及类的内部成员。当这些成员被调用时,体现可见性的大小。
  •  封装性在程序中的体现:

        场景1:私有化(private)类的属性,提供公共(public)的get和set方法,对此属性进行获取或修改       

        场景2:将类中不需要对外暴露的方法,设置为private
        场景3:单例模式中构造器private的了,避免在类的外部创建实例。

  •  根据程序设计的原则之一,理论上类的内聚性要高,耦合度要低。

                高内聚:类的内部数据操作细节自己完成,不允许外部干涉 

                        (Java程序通常以类的形态呈现,相关的功能封装到方法中。)

                低耦合`:仅暴露少量的方法给外部使用,尽量方便外部调用。

                        (给相关的类、方法设置权限,把该隐藏的隐藏起来,该暴露的暴露出去)

相关文章:

面试题003:面向对象的特征——封装性

Java规定了4种权限修饰,分别是:private、缺省、protected、public。我们可以使用4种权限修饰来修饰类及类的内部成员。当这些成员被调用时,体现可见性的大小。 封装性在程序中的体现: 场景1:私有化(private)类的属性,提供公共(pub…...

森林防火,森林防火智能储水罐_鼎跃安全

森林防火是保护森林的重要措施,每年发生的森林火灾都严重威胁着自然安全,对社会经济和生态造成严重的破坏。为了切实有效地预防并扑灭森林火灾,森林防火智能储水罐已成为现代森林防火体系中的重要装备。 储水罐内置传感器和控制系统&#xff…...

虚幻引擎,体积雾、体积光、镜头泛光

1、体积雾 这里介绍的是用于地面的体积雾效果,效果如图1-1: 图1-1 首先,需要场景中存在指数级高度雾并开启体积雾(如图1-2)。然后创建材质,材质域选择“体积”,混合模式选择“Additive”。材质节…...

Python 机器学习求解 PDE 学习项目——PINN 求解二维 Poisson 方程

本文使用 TensorFlow 1.15 环境搭建深度神经网络(PINN)求解二维 Poisson 方程: 模型问题 − Δ u f in Ω , u g on Γ : ∂ Ω . \begin{align} -\Delta u & f \quad & \text{in } \Omega,\\ u & g \quad & \text{on } \Gamma:\p…...

微信小程序删除滑块 SwiperCell 自动收起 Van weapp van-swipe-cell 滑块自动收起 点击页面也自动收起滑块

在当前页面整个 view 中 给页面绑定 点击事件bindtap"onSwipeCellPage"给 van-swipe-cell 组件设置 id (for循环可以添加 id"swip-cell-{{item.id}}" )van-swipe-cell 组件 添加属性 当用户打开滑块时触发 bind:open"swiperCel…...

【vluhub】log4j注入漏洞 CVE-2021-44228

LOG4介绍 是一个用Java编写的可靠,快速和灵活的日志框架(API),它在Apache软件许可下发布 log4j存在远程代码执行漏洞、受影响版本2.x 部署环境 攻击机环境:192.168.3.180 kail环境:192.168.203.12【NAT…...

Redis核心技术与实战学习笔记

Redis核心技术与实战学习笔记 最近想沉下心来看下redis,买了蒋德钧老师的《Redis 核心技术与实战》,这里记录一些学习笔记 希望能够坚持下去有想一起学习的童鞋,可以点击跳转到文章尾部获取学习资源,仅供学习不要用于任何商业用途!!! redis知识全景图 …...

力扣经典题目之->设计循环队列 的超详细讲解与实现

一:题目 二:思路讲解 前提: a:本文采取数组来实现队列去解决题目 b:开辟k1个空间,front指向队首,rear指向队尾的后一个,rear这样会更好的判空和判满 以下根据pop和push感受满和空…...

【数据结构】排序算法——Lesson2

Hi~!这里是奋斗的小羊,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 💥💥个人主页:奋斗的小羊 💥💥所属专栏:C语言 🚀本系列文章为个人学习…...

Ubuntu编译ffmpeg并添加cmake工程

文章目录 前言前提须知为什么要自己编译 FFmpeg前提软件包与工具的安装编译ffmpeg写CMakeList.txt包含ffmpeg到我们项目中 总结 前言 FFmpeg 是一个领先的多媒体框架,能够解码、编码、转码、复用、解复用、流化、过滤和播放几乎所有人类和机器创造的内容。FFmpeg 包…...

Vue.js[组件(Component)]

什么是: 拥有专属的HTML,CSS,数据的,可重用的页面独立区域 一个页面由多个组件聚合而成一个大型的页面 在代码层面上,一个组件就是一个可反复使用的自定义标签。 vs jq插件 vs boot组件 boot插件: 虽然可重用,但仍需…...

基于微信小程序+SpringBoot+Vue的校园自助打印系统(带1w+文档)

基于微信小程序SpringBootVue的校园自助打印系统(带1w文档) 基于微信小程序SpringBootVue的校园自助打印系统(带1w文档) 管理信息可以处理复杂的信息从而提高用户的工作效率,减少失误。所以本基于Vue和微信小程序的校园自助打印系统的开发非常有意义,本系…...

qt设置过滤器

1.创建事件过滤器类,在主窗口中安装事件过滤器 class PasteFilter : public QObject {Q_OBJECTpublic:PasteFilter(QObject *parent nullptr) : QObject(parent) {}protected:bool eventFilter(QObject *obj, QEvent *event) override {if (event->type() QEv…...

线上环境服务器CPU飙升排查

前因 收到线上服务器CPU使用率100%的告警信息。 环境 jdk1.8CentOS Linux ;CentOS Linux 排查 查看服务器CPU使用率 果然cpu已经达到了100%了 命令 top 使用arthas工具 使用方式 arthas 执行命令java -jar arthas-boot.jar 然后执行命令 thread 看到有两个…...

unity文字||图片模糊

一.文字模糊 1、增大字体大小后等比缩放 快捷键R 2、更改字体渲染模式 二.图片模糊 1、更改过滤模式 2、更改格式或者压缩 3、如果只是图片边缘看不清,可以增加canvas/图片的每单位参考像素...

香薰学习笔记

1 喷香水的方法 ChatGPT-4o 学习使用香水是提升个人形象的一个好方法。 喷香水的方法如下: 皮肤吸收:香水最好喷在皮肤上,因为皮肤的温度能帮助香水散发出更好的香味。喷在衣服上可能会影响香水的原始味道。脉搏点:将香水喷在脉搏…...

iOS ------ weak的基本原理

1.weak的基本概念 weak弱引用,所引用的对象的引用计数不会加一,引用对象被释放的时候会自动设置为nil多用于解决对象间的相互引用造成内存泄露的循环引用的问题 2.实现原理 Person *object [[Person alloc] init]; id __weak objc object;Runtime维…...

实时更新UI界面

1.处理实时通信,几种方案 1:当一个用户发送一条需要实时更新的信息,我可以直接查找在线用户,通过在线用户来进行判断条件,发送更新请求 2:用户在一个需要实时更新的界面时,就不断的向服务端发…...

为什么Spring不推荐@Autowired用于字段注入

背景 Spring是Java程序员常用的框架之一。官方从Spring 4.0开始不推荐使用Autowired进行字段注入。 Spring注入方式 基于构造器注入:在构造器上使用Autowired。 优点:可以声明字段为final,确保字段在构造时被初始化。 基于setter方法注入&…...

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第三十九章 Linux MISC驱动

i.MX8MM处理器采用了先进的14LPCFinFET工艺,提供更快的速度和更高的电源效率;四核Cortex-A53,单核Cortex-M4,多达五个内核 ,主频高达1.8GHz,2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…...

2026年,性价比超高的直播代运营供应商究竟哪家强?

在直播电商行业持续火爆的当下,众多品牌都希望借助直播代运营服务来提升销售业绩和品牌影响力。然而,市场上直播代运营供应商众多,质量参差不齐,如何选择一家性价比超高的供应商成为了品牌方的一大难题。今天,就为大家…...

从NeoClaw项目看嵌入式开发:HAL设计、OTA与低功耗实战

1. 项目概述:从“NeoClaw”看现代嵌入式开发的新范式最近在GitHub上看到一个挺有意思的项目,叫“Atum246/NeoClaw”。光看这个名字,你可能会有点摸不着头脑——“NeoClaw”是什么?新爪子?机械爪?还是某种新…...

深入STM32以太网驱动层:DP83848 PHY芯片初始化、中断处理与lwip数据收发的HAL库实现详解

STM32与DP83848以太网驱动开发实战:从PHY初始化到lwIP协议栈深度整合 在嵌入式系统开发中,以太网通信已成为工业控制、物联网网关等场景的标配功能。本文将深入探讨基于STM32F1系列微控制器与DP83848物理层芯片的以太网驱动开发全流程,重点剖…...

为什么头部AI Lab已全员切换SITS2026?揭秘其内置的4层语义校验引擎与实时可观测性埋点设计

更多请点击: https://intelliparadigm.com 第一章:AI原生应用CI/CD:SITS2026 AI原生应用正推动软件交付范式发生根本性变革——模型权重、提示工程、评估指标与代码同等重要,传统CI/CD流水线已无法覆盖训练-推理-反馈闭环。SITS2…...

ComfyUI MixLab节点库:提升AI图像工作流控制与自动化能力

1. 项目概述:一个为ComfyUI注入新活力的节点库如果你和我一样,是个深度依赖ComfyUI进行AI图像工作流搭建的创作者,那你一定经历过这样的时刻:面对一个复杂的创意想法,却发现官方节点或者现有社区节点库的功能组合起来总…...

基于GPT的AI代码审查:GitHub Action自动化部署与实战指南

1. 项目概述:当AI成为你的代码审查搭档 在团队协作开发中,代码审查(Code Review)是保证代码质量、统一编码风格、传播知识的关键环节。但现实往往是,资深同事忙得脚不沾地,新人的PR(Pull Reque…...

从《飞机大战》项目倒推环境搭建:手把手教你为Python 3.8+配置Pygame开发环境(Windows版)

从《飞机大战》项目倒推环境搭建:手把手教你为Python 3.8配置Pygame开发环境(Windows版) 当你决定用Python开发一个《飞机大战》游戏时,第一步不是急着写代码,而是搭建一个能跑起来的环境。这就像盖房子前要先打地基—…...

5分钟掌握B站视频下载:开源工具bilibili-downloader完全指南

5分钟掌握B站视频下载:开源工具bilibili-downloader完全指南 【免费下载链接】bilibili-downloader B站视频下载,支持下载大会员清晰度4K,持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader 还在为无法下…...

Unity UGUI点击事件避坑指南:为什么你的Image点了没反应?

Unity UGUI点击事件避坑指南:为什么你的Image点了没反应? 当你信心满满地在Unity中为Image组件添加了IPointerClickHandler接口,点击运行时却发现无论如何点击屏幕都没有反应——这种挫败感每个Unity开发者都经历过。本文将深入剖析UGUI事件系…...

C语言程序设计核心详解 函数和预编译命令

1.函数的定义和使用1.1 函数定义C语言程序的框架有两种:一个main()单框架一个main()多个子函数注:一个源程序文件可由一个或多个函数组成一个C语言程序可以由一个或多个源程序文件组成C程序执行总是从main()开始,结束于main()结束&#xff1b…...