我们知道,我们通常所说的面向对象编程有三大特性,继承,封装与多态。
封装,既然作为三大特性之一,什么是封装,怎么封装,以及封装有什么好处?
先看一下比较官方的一种定义:封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。封装是一种信息隐藏技术,在java中通过关键字private实现封装。什么是封装?封装把对象的所有组成部分组合在一起,封装定义程序如何引用对象的数据,封装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度。
比如我们把一个学生的姓名 ,性别,年龄,以及其所具有的一些方法封装为一个学生实体,并对外提供一些接口,即使一种封装。通常我们所写的类,就是对一些具有相同事物的属性及方法的抽象,最后封装在一起。下面通过一个对图片类的封装,来进一步理解封装。封装之后的图片类,可以任意的在窗体上移动,改变大小,移动的速度这些都可以实现。
package com.sg.PictureWatch;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
public class PictureWatch {
Image