开发喵星球

OOP05-封装的梳理和总结

pPeHp90.png pPeHkB4.png

本文内容是封装的梳理和总结,本文内容包括:

封装

什么是封装

封装是用来设置类的成员什么地方可以被访问

如何实现封装

实现封装需要使用访问修饰符,访问修饰符共四个

getter和setter方法

对于属性的读写设置,一个典型的做法是

把这种公有方法封装私有属性称为getter和setter

来个例子

需求:

分析:

代码:

public class Movie {
    private String name;  //属性私有化
    private double price; //属性私有化
    
    // 构造函数初始化属性值
    public Movie(String name,double price){
        this.name = name;
        this.price = price;
    }

    // 公有get方法,读取电影名称
    public String getName() {
        return name;
    }

    // 公有get方法,读取电影价格
    public double getPrice() {
        return price;
    }

    // 公有set方法,修改电影价格
    public void setPrice(double price) {
        this.price = price;
    }
}

解析:

再来个例子

需求:

分析:

代码:

public class Factory {
    // 构造函数私有化,类外就无法调用了,因此就实现了类外不能创建该类的对象
    private Factory(){
        
    }
    // 公有静态方法,返回Factory对象
    public static Factory createInstance(){
        return new Factory();//此处在Factory的类内,能够调用private的构造函数
    }
}
public class Test {
    public static void main(String[] args) {
        // 调用公有静态方法,获取Factory对象
        Factory factory = Factory.createInstance();
    }
}

解析:

类似于本例这种对象不是new出来的,而是类名调用公有静态方法获得的,这种使用场景很多,希望以后你遇到这种情况时,能够想起这个例子。

   
分类:Java/OOP 作者:开发喵 发表于:2023-08-29 12:47:01 阅读量:92
<<   >>


powered by kaifamiao