为什么使用封装

封装
为什么使用封装
我们在类中定义的成员变量可以直接通过对象名.成员变量名的形式访问
对于不合理的值无法做出限制,或者是限制比较麻烦
对于这种设计缺陷我们使用封装解决


封装定义


面向对象的三大特征:封装、继承、多态


隐藏属性或者方法的实现细节,不允许外部程序的直接访问,而是通过该类提供的方法来实现隐藏的信息操作
属性封装步骤:
》属性私有化:私有化之后,在当前类之外,无法通过对象名.属性的形式直接访问
private String name;
private int health;
private String type;
》生成get和set方法
public void setName(String name){
this.name=name;
}

public String getName(){
return this.name;
}
在方法中加入控制语句
public void setHealth(int health) {
if(health>=0&&health<=100){
this.health=health;
}else {
System.out.println("请输入合理的数字");
this.health =60;
}
}


封装的实现
访问修饰符
》public:公有的
默认的(friendly)默认值,同包类下的其他值可以访问
》protected:受保护的
private:私有的,只能在当前类中访问


__EOF__

本文作者龙陌
本文链接https://www.cnblogs.com/longmo666/p/13557261.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   龙陌  阅读(166)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示