java编程之封装

举报
魏铁锤 发表于 2022/09/20 23:35:27 2022/09/20
【摘要】 ## 前言:         我们在编写程序的当中发现一些缺陷,比如属     性随意访问,不合理的赋值等,那么如何解决这些     缺陷呢?答案就是封装。 ## 什么是封装?         面向对象的三大特征之一-----封装         将类的某些信息隐藏在类的内部,不允许外部     程序直接访问,而是通过该类提供的方法来实现对     隐藏信息的访问。 ## 封装的好处: - 隐藏类

## 前言:
        我们在编写程序的当中发现一些缺陷,比如属
    性随意访问,不合理的赋值等,那么如何解决这些
    缺陷呢?答案就是封装。
## 什么是封装?
        面向对象的三大特征之一-----封装
        将类的某些信息隐藏在类的内部,不允许外部
    程序直接访问,而是通过该类提供的方法来实现对
    隐藏信息的访问。

    就是该露的露,该藏的藏

    我们在程序设计的过程中要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己来完成,

    不允许外部干涉,低耦合:就是, 仅暴露少量的方法给外部使用

    封装(数据的隐藏)
    通常,应禁止直接访问一个对象中数据的实际表示,而是应该通过操作接口来访问,这叫信息隐藏

## 封装的好处:
- 隐藏类的实现细节
- 只能通过规定方法访问数据
- 方便加入控制语句
- 方便修改实现
## 封装的步骤:
    1.修改属性的可见性
    使用private
    2.创建公有的getter/setter方法
    用于读写
    3.在getter/setter中加入属性控制语句
    对属性值的合法性进行判断
## 案例:
    创建一个类,造一个虚拟的人
    定义他的属性-----比如名字、年龄、性别等
    创建一个方法-----定义他所能做的事情
    

## 代码如下
    public class GZ {
    private String name;
    private int age;
    private String sex;
    public String getName(){
        return name;
    }
    public void setName(String name){
        this.name=name;
        System.out.println("我的名字叫:"+name);
    }
    public int getAge(){
        return age;
    }
    public void setAge(int age){
        this.age=age;
        System.out.println("我今年"+age+"岁");
        }
    }
-  以上是定义的类以及属性,进行了一个封装


## 代码如下:
```
public class Demo {
    public static void main(String[] args){
        GZ input=new GZ();
        input.setName("铁锤");
        input.setAge(20);
    }
}
这样代码进行封装后,用户就无法直接看到里面的代码啦

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。