JavaSE 基础 - 第10章 封装

1、封装

1.1、面向对象的三大特征:封装、继承、多态

   有了封装,才有继承,有了继承,才能说多态。

1.2、面向对象的首要特征:封装 。什么是封装?有什么用?

	现实生活中有很多现实的例子都是封装的,例如:
		手机,电视机,笔记本电脑,照相机,这些都是外部有一个坚硬的壳儿。
		封装起来,保护内部的部件。保证内部的部件是安全的。另外封装了之后,
		对于我们使用者来说,我们是看不见内部的复杂结构的,我们也不需要关心
		内部有多么复杂,我们只需要操作外部壳儿上的几个按钮就可以完成操作。

	那么封装,你觉得有什么用呢?
		封装的作用有两个:
			第一个作用:保证内部结构的安全。
			第二个作用:屏蔽复杂,暴露简单。
		
	在代码级别上,封装有什么用?
		一个类体当中的数据,假设封装之后,对于代码的调用人员来说,
		不需要关心代码的复杂实现,只需要通过一个简单的入口就可以访问了。
		另外,类体中安全级别较高的数据封装起来,外部人员不能随意访问,
		来保证数据的安全性。

2、封装的代码实现的两步

第一步:属性私有化
	   使用private关键字进行修饰。
	   private 表示私有的,被这个关键字修饰之后,该数据只能在本类中访问。
	   出了这个类,age属性就无法访问了。私有的。

第二步:对外提供简单的操作入口。
      1个属性对外提供两个set和get方法。
      外部程序只能通过set方法修改,只能通过get方法读取,可以在set方法中设立关卡来保证数据的安全性。

再强调一下:
	set和get方法都是实例方法,不是静态方法,不能带static。
	不带static的方法称为实例方法,实例方法的调用必须先new对象。

	set和get方法写的时候有严格的规范要求:(大家要按照规矩来)
		get方法长这个样子:
			public 返回值类型 get+属性名首字母大写(无参){
				return xxx;
			}
		set方法长这个样子:
			public void set+属性名首字母大写(1个参数){
				xxx = 1个参数;
			}

【例:】

// get方法
public int getAge(){
	return age;
}
// set方法
public void setAge(int nianLing){
	// 能不能在这个位置上设置关卡!!!!
	if(nianLing < 0 || nianLing > 150){
		System.out.println("对不起,年龄值不合法,请重新赋值!");
		return; //直接终止程序的执行。
	}
	//程序能够执行到这里,说明年龄一定是合法的。
	age = nianLing;
}
通过“类名.方法名(实际参数列表)”可以调用set和get方法吗?不行。
只有方法修饰符列表中有static的时候,才能使用“类名.方法名(实际参数列表)”的方式访问
	// 创建对象
	Person p1 = new Person();
	//调方法,通过“引用.”的方式
	p1.setAge(20);
	System.out.println(p1.getAge()); //20

传送门

上一章:JavaSE 基础 - 第九章 对象的创建和使用
下一章:JavaSE 基础 - 第十一章 this和static

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值