JAVA面向对象---封装

1、封装的概念

       将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。

2、封装的两个大致原则

  • 把尽可能多的东西藏起来,对外提供便捷的接口

  • 把所有的属性藏起来

3、如何实现封装

1)修改属性的可见性

2)创建公有的getter/setter方法

3)在getter/setter方法中键入属性控制语句

示例:创建Penguin类和PenguinTest测试类

public class Penguin {
	// 定义属性
	private String name;
	private int health;
	private int love;
    public Penguin() {

}

public Penguin(String name, int health, int love) {
	this.name = name;
	this.health = health;
	this.love = love;
}

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

public String getName(){
	return name;
}

public void setHealth(int health){
	//调用此方法来给对象的health赋值,在赋值前对传过来的health进行判断
	if(health<0||health>100){
		System.out.println("您输入的健康值有误,默认给健康值赋值为60");
		this.health = 60;
		return;//这里的return作用是结束方法后续代码的执行
	}
	this.health =health;
}
    public int getHealth(){
	return health;
}

public void setLove(int love){
	//对传递过来的love值进行判断
	if(love<0||love>100){
		System.out.println("您输入的亲密度值有误,默认给亲密度赋值为80");
		this.love=80;
		return;
	}
	this.love=love;
}

public int getLove(){
	return love;
}

public class PenguinTest {

	public static void main(String[] args) {
		// 使用无参构造方法创建Penguin类的对象
		Penguin penguin1 = new Penguin();
		// 给对象penguin1的属性赋值,因为name属性使用private修饰了,所以不能同对象名.属性名直接给name属性赋值,只能是用其它方式给name属性赋值
//		penguin1.name = "QQ";
//		System.out.println(penguin1.name);
		
		penguin1.setName("QQ");
		String name =penguin1.getName();
		System.out.println(name);
		
		penguin1.setHealth(-90);
		System.out.println(penguin1.getHealth());
		
		penguin1.setLove(-99);
		System.out.println(penguin1.getLove());
	}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值