面向对象之封装(Java)

面向对象之封装(Java)


面向对象是Java学习中最基础,也是最重要的一部分,其中它的三大特征包括:

  1. 封装
  2. 继承
  3. 多态

今天让我们一起来学习面向对象的三个特征之一 封装 吧!


何为封装?

将类的成员属性的访问修饰符规定为私有(private),这样该属性在其它类就不能调用,更不可能被修改。

为什么要使用封装?

定义一个类people,有姓名和财产等属性,默认值是:张三和12000。有show方法,输出姓名和财产。定义一个测试类,修改张三的money为-10000;

public class People{
	String name = "张三";
	int money = 12000;
	
	public void show(){
		System.out.println("姓名为:" + name);
		System.out.println("财产为:" + money + "元");
	}
}
public class TestPeople{
	public static void main(String[] args) {
		People p = new People();
		p.money = -10000;   //修改了张三的金额为-10000
		p.show();           //调用show()方法输出
	}
}

此案例可以看出类和对象的属性毫无隐蔽性可言,可以被随意修改,这样设计出的程序会有很大的安全性问题。

使用封装的好处

  1. 便于使用者正确使用系统,防止错误修改属性。
  2. 有助于系统之间的松耦合,提高系统独立性。
  3. 提高软件的可重用性。
  4. 降低了构建大型系统的风险。

封装的实现

  1. 属性访问修饰符定义为私有:private
  2. 对外提供get和set方法。
public class People{
	private String name = "张三";
	private int money = 12000;
	
	public void show(){
		System.out.println("姓名为:" + this.getName());
		System.out.println("财产为:" + this.getMoney()+ "元");
	}

	public String getName() {
        return name;
    }

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

    public int getMoney() {
        return money;
    }

    public void setMoney(int money) {
        this.money = money;
    }
}
public class TestPeople{
	public static void main(String[] args) {
		People p = new People();
		p.setMoney(200000);   
		p.show();           
	}
}

输出结果
在这里插入图片描述

对属性的封装,在IDEA中有快捷键可以直接生成,键盘按住Alt+Insert,选择Getter and Setter即可自动生成get和set方法,前提条件是必须将属性的访问修饰符设置为私有private,这样才可以对其进行封装操作。在测试类中,通过setMoney()方法对属性值进行设置,通过getMoney()方法对传入的参数值进行输出。这就所谓的封装。这样也大大的提高了系统的安全性。

在这里插入图片描述

不介意一键三连!!!

  • 32
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 28
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值