- 基本格式
java
1.setter
public set(Object sth){
...
}
2.getter
public get(Object sth){
...
}
kotlin
1.var <propertyName>[:<PropertyType>] [=<property_initializer]
[<getter>]
[<setter>]
- 作用
- set:在程序当中为了保护数据,变量类型最好都是private ,可以防止被误操作。那么如何修改private变量呢?这时可以调用set函数来修改这个变量的值
- set还可用于对读取和设置来做出限制,当你满足条件或者拥有权限时才可以访问get和set方法来对变量进行读取和设置
- get和set是 两种常规的用来检索和更新变量值的方法,因此get和set可以减少代码的重复性,
例如:想在调用student类的其他几个地方对学生的grade属性进行+10操作。若grade是public member,每个类中都要对grade加10,而如果用setter则只需在Student类中对grade进行加10操作,其他地方只需调用getGrade方法 - “封装”,Java中引入getter和setter的主要目的在于遵循面向对象编程的一大特性——封装。
例如:学生中的name和grade都是学生本身的属性,对其进行修改,赋予逻辑都应该在Student类里进行,而不该由外界控制 - 减少内存占用 ,根据一个变量的作用设置其权限修饰符(public,private,protected)。如果设为public,将在整个程序运行周期存在,设为private则只会在调用的Student类时存在,因此最好设为private
- 实例
-
java
通过get和set可以读取student类中的私有属性并给其赋值
-
kotlin
通过set方法对变量值实现实时监听,并对特定变量值完成某些操作
-