第27天

2023/6/15

# 第27天

每一行代码都是你进步的见证,为你感到骄傲!

# Java 封装

# 实现Java封装的步骤

  1. 修改属性的可见性来限制对属性的访问(一般限制为private)
public class Person {
    private String name;
    private int age;
}
  1. 对每个值属性提供对外的公共方法访问,也就是创建一对赋取值方法,用于对私有属性的访问
public class Person{
    private String name;
    private int age;

    public int getAge(){
        return age;
    }

    public String getName(){
        return name;
    }

    public void setAge(int age){
        this.age = age;
    }

    public void setName(String name){
        this.name = name;
    }
}

Java封装是一种面向对象编程(OOP)的概念,它指的是将对象的状态(属性)和行为(方法)捆绑在一起,并对外隐藏对象的具体实现细节,仅通过定义的接口与外部进行交互。封装的主要目的是保护对象的状态,防止外部代码直接访问和修改对象内部的数据,从而提高代码的安全性和可维护性。

# 实现原理

  1. 访问修饰符:Java提供了四种访问修饰符来控制类的成员(属性和方法)的访问级别:

    • private:仅当前类可以访问。
    • default(无修饰符):仅同一包内的类可以访问。
    • protected:同一包内的类和不同包中的子类可以访问。
    • public:所有类都可以访问。
  2. 构造方法:用于创建对象,并初始化对象的状态。

  3. getter和setter方法:用于访问和修改私有属性。getter方法用于获取属性的值,setter方法用于设置属性的值。

# 用途

  1. 数据隐藏:通过将属性设为私有,外部代码无法直接访问和修改对象的状态,只能通过提供的方法进行操作,从而保护数据的安全性和完整性。

  2. 代码重用:封装后的类可以被多个对象实例化,并且可以重用,提高了代码的复用性。

  3. 易于维护:封装后的类内部实现细节被隐藏,外部代码只需关注接口,降低了代码的耦合度,使得代码更容易维护和修改。

# 注意事项

  1. 合理使用访问修饰符:根据实际需求选择合适的访问修饰符,避免过度暴露或过度限制访问。

  2. 避免过度封装:虽然封装可以提高代码的安全性和可维护性,但过度封装会导致代码难以理解和维护。因此,应该适度封装,保持代码的清晰和简洁。

  3. 提供必要的接口:封装后的类应该提供必要的接口(getter和setter方法),以便外部代码可以访问和修改对象的状态。

  4. 异常处理:在setter方法中,应该对输入参数进行验证,并在必要时抛出异常,以保证对象状态的有效性。

通过合理使用Java封装,可以提高代码的可读性、可维护性和安全性,是面向对象编程中非常重要的一个概念。


学习编程就像搭积木,一块一块慢慢来,下一篇继续加油!