面向对象(java、c++)get()方法和set()方法的用法
用get与set,我想也更能很好的理解,私有变量及公共变量的,区别与作用
首先看一下,private与public的意思,private:私有,public:公有,顾名思义他两是将类、对象或者方法、私有化与公有化
首先,我们先来分析一下set和get两个单词的意思,set的意思为设置,而get的意思为获取,由此可见get()和set()两个方法分别是用来获取和设置数据的。
在使用两方法时一般的方法都是后边加上某个单词来表明将要设置或者获取的功能,比如setName(),getName() 其含义为设置名字,获取名字。
那么为什么要使用set(),get()方法呢?
这就要涉及到java或者c++面向对象语言的封闭性和安全性,在某些类中需要用到private来修饰,这样的话其他的类不能访问这个类里边的变量,就提高了安全性
但是我们有时需要用到其中变量,那么如何获取呢?这时候就要用到我们说的set()和get()方法
举例说明:
class Demo{
//私有String ,int ;
private String name;
public String getName() //set get 方法核心;
{
return name;// 需要有返回值的get来提取String
}
public void setName(String n)
{
name=n;
}
set是从外部设置内部的私有变量的值,像是从外到内
get是从外部获取内部私有变量的值,像是从内到外
那是否有人会问既然能从外部设置了,还设置私有变量干嘛??
个人体会:
私有变量:1)可以在内部类,记录下来更改的情况,且或者起到限制约束的作用
2)可以面向对象中最重要的是封装,而private正好提供了封装,在实体类中成员初始由setX(){}引进来的值,可以被 getX(){}在外部使用而无法进行改变