java的get和set方法

java的get和set方法,第1张

set设置对象属性值,get从对象属性中获取值get自然是取值 set 自然是设置值 这个是 java的 面向对象编程的一个特点直接GETSET用呗JAVA中有一个概念叫做封装,封装就是将对象一些自身的属性封装起来,隐藏起来,不让外界任意访问,如果你要让外界访问这个属性你就要提供get和set方法。比如你叫张三,你的名字只有你一个人知道(私有属性),别人问你叫什么,你说出你的名字就调用了你的get方法,反之如果给你取名字调用的就是你的set方法,get和set方法不是一定要必须两者都有,你可以根据实际情况而定。get方法是用来得到对象里属性的值,set方法相反,是用来给对象的属性设值的。get方法一般是得到成员变量的值,set是设置一个成员变量的值

每个对象的属性,都有属于它的 属性描述对象(下文称为SB) 。SB的作用就是来定义一个 属性 的特性,比如这个属性 是否可写 , 是否可遍历 等等。

本文主要涉及SB的 get与set两个属性 。

属性除了直接定义以外,还可以用 存取器 定义(get与set)。其中,存值函数 称为 setter,使用属性描述对象的set属性;取值函数 称为 getter,使用属性描述对象的get属性。

一个属性的SB默认没有get与set

所以,看下文...

首先来看如何设置属性的存取器,有 三种 方法:

①,直接在对象中定义

②,用 Object.defineProperty() 方法

③,如果想修改多个属性,用 Object.defineProperties() 方法

get方法会在每次读取属性的时候调用,你读取到的该属性的值为get方法的返回值!!!

当你每次给一个属性赋值的时候调用set方法,set方法接受一个参数,参数为你赋的值!!!

①,一旦给属性设置了get或set,那么你再怎么给这个属性赋值也是徒劳(除了给set函数传参),每次读取该属性,返回的都是get函数的返回值!

②,因为一旦设置了get或set,则SB的value属性不可被定义,writable属性为false。value代表属性的值,writable代表是否可写。如果强行修改SB,则报错!!!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11176384.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存