首页 > 编程语言 >java面向对象-->封装

java面向对象-->封装

时间:2022-10-30 15:35:11浏览次数:42  
标签:set 封装 -- private 面向对象 GirlFriend java public 修饰

封装

封装的作用是在于:如何正确设计对象的属性和方法。

封装的重要原则:对象代表什么,就要封装对应的数据,并提供数据对应的行为。

  • 比如说人画圆,涉及到了人和圆俩个对象,画圆这个行为是归属于圆这个对象中的。
  • 人关门:涉及到了人和门俩个对象,人关门这个行为是属于门这个类的。

对象代表什么,就要封装对应的数据,并且提供数据对应的行为。

比如说上述例子:圆这个对象有半径这个数据,所以要提供画圆这个行为,门这个对象中有门的状态这个数据,故要提供关门这个行为。

private关键字

  • 它是一个权限修饰符
  • 可以修饰成员(成员变量和成员方法)
  • 被private修饰的成员只能在本类当中才可以访问。

举例:

public class GirlFriend{
	private String name;
    private int age;
    private String gender;
}

这样修饰后在测试类中

GirlFriend gf1=new GirlFriend();
gf1.age=-19;

上述操作就无法成功,不能在除了GirlFriend类以外的类中堆private修饰的成员进行访问。

保证了数据的安全性。

那么如何修改对应的数据呢?

  • set方法和get方法

    我们通过在这个类中添加set方法赋值,get方法获取值

public class GirlFriend{
	private String name;
    private int age;
    private String gender;
    //set方法赋值
    public void setAge(int a){
        if(a>=18 && a<=50){
            age=a;
        }else{
            System.out.println("非法数据");
        }
    }
    //get方法获取值
    public int getAge(){
        return age;
    }
}

这个public也是修饰符,代表的是可以在这个项目整体中都可以访问到

我们会给每一个被private修饰的变量都给一个set和get方法

get和set方法都要用public修饰符修饰

标签:set,封装,--,private,面向对象,GirlFriend,java,public,修饰
From: https://www.cnblogs.com/wdadwa/p/java_fource_02.html

相关文章

  • 15.几种序列化方式
    什么是序列化关于序列化相信大家都很了解,在Java中我们经常就可以看到很多实体类或者 POJO 都会实现 Serializable 接口,有了解过 Serializable 接口的小伙伴应该都......
  • vue3路由的使用
    一、路由的概要1.1、什么是路由?路由就是一组映射关系,根据不同的url地址展示不同的内容或页面(key-value);key为路径,value可能是function或component 路......
  • 《分享: 请教个概率计算问题。》 回复
    《分享:请教个概率计算问题。》     https://tieba.baidu.com/p/8112266295     4楼问题挺有意思,楼主何不把题目贴图过来?这个问题让我想起数列和定......
  • 力扣784(java)-字母大小写全排列(中等)
    题目:给定一个字符串 s ,通过将字符串 s 中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串集合。以任意顺序返回输出。 示例1:输......
  • 第六章学习心得
    知识点归纳信号和信号处理;信号和中断的统一处理将信号视为进程中断,将进程从正常执行转移到信号处理信号的来源,包括来自硬件、异常和其他进程的信号信号在Unix/Linux......
  • c# aveva marine 批量导出图纸到dxf格式
    获取图纸数据库查看代码publicstaticDictionary<string,List<DbElement>>GetDbElements(DbTypedbtype){Dictionary<string,List<DbElement......
  • 实验一:决策树算法实验
    【实验目的】1、理解决策树算法原理,掌握决策树算法框架;2、理解决策树学习算法的特征选择、树的生成和树的剪枝;3、能根据不同的数据类型,选择不同的决策树算法;4、针对特......
  • golang日期格式转换
    在日常开发的过程中,经常会遇到前端或接口调用返回的时间格式的字符串转换为time格式落库的诉求,在转换格式的的过程中经常会遇到如下报错:问题的意思是,需要转换的字符串格式不......
  • Go 容器之队列的几种实现方式
    1队列的概念队列是有序集合,遵循FIFO(Firstinfirstout,即先进先出)排队方法的容器。添加操作发生在队列的尾部,移除操作则发生在头部。新元素从尾部进入队列,然后一直向前移......
  • Matlab--多项式创建、计算、积分和微分
    分享一下在MATLAB中的多项式相关运算。表示多项式MATLAB将多项式表示为行向量,其中包含按降幂排序的系数。例如,三元素向量p=[p2p1p0];表示多项式p(x)=p2x2+p1x+p0.创建......