Java面向对象的封装原则

    Java   面向对象的封装原则

封装:

通俗理解:在不想让外人看见自己所定义的内容,但是你可以使用(调用),怎么调用呢?通过先设置(set)下属性或者方法内容,然后你必须获取(get)下才可以调用。

在面向对象编程思想中,不仅把汁液多、糖分多、含有挥发性芳香物质、可以生食等的共同特征放到水果类里,同时也把水果的开花、落果、膨大、成熟等共同行为放到水果类里,这样水果类既包含了水果所具备的共同特征,也包含了开花、落果、膨大、成熟等共同行为。

当外部需要访问水果类时,调用水果类对外提供的访问方法来访问其共同特征和行为。例如:水果类提供了get方法来访问其属性(特征),提供了开花、落果、膨大、成熟等方法来访问其行为。同时通过Java关键字public、pro     te   cted、private(在Java类一节会有详细介绍)设置水果类的访问权限。

由上面的内容可以看出,Java封装就是把现实世界同类事物的共同特征和行为抽取出来,放到一个新建的类中,并设置类属性(特征)和行为的访问权限,同时提供外部访问类属性和行为的方法。

把事物的属性和行为封装在一起,可以对外隐藏内部数据,控制用户对内部数据的修改和访问,封装也消除了面向过程编程中数据与操作分离所带来的种种问题,提高了程序的可复用性和可维护性。

下面以水果类为案例,具体说明封装的过程和优点。

启动eclipse,建立Fruits项目。在Fruits项目src目录下新建包com.     mi   lihua.fruits,如下图所示:

 Java面向对象的封装原则_设计制作_制造/封装

图 11-4 新建水果类项目

在com.milihua.fruits包下新建FruitManager类,FruitManager类为水果管理类,负责水果品种的增加、删除,以及水果的展示等功能。在新建类时要注意勾选public sta     ti   c void m     ai   n(String[] args)选项,如下图所示:

在com.milihua.fruits包下新建类Fruits类,Fruits类为水果类,负责水果的创建和展示。水果类封装代码如下:

 Java面向对象的封装原则_设计制作_制造/封装

Fruits类的属性声明为私有的(private),方法声明为公共的(public)。这样,对象能够直接调用类中定义的所有方法,当对象要修改或得到自己属性的时候,就必须要调用已定义好的专用的方法才能实现。起到了隐藏内部数据,控制用户对内部数据修改和访问的作用。类的可复用性和可扩展性会在继承或多态一节讲到。

对于面向对象编程而言,需要掌握如下几点:

(1)抽象是把同类事物的共同特征抽取出来归纳为类,类的具体实例为对象。

(2)封装就是把抽取的事物属性和行为打包到一个类中,并隐藏内部数据和方法的实现过程。

(3)编程时要遵循对象调用方法,方法修改属性。

封装性的体现:

将类的属性私有化(private),同时提供公共(public)的方法来获取(get xxx)和设置(set xxx)此属性的值,且调用时不可以直接使用“对象。属性”。

public class Pe     rs   onTest {

public sta  TI c void main(String[] args) {

Person b = new Person();//类的实例化

b.setAge(99);//调用对象的方法

b.setName(“Jack”);

System.out.println(“姓名为:” +b.getName() +“,年龄为:” +b.getAge());

}

}

public class Person {

private int age;//定义属性为私有的

private String name;

public int getAge() {//提供public方法获取属性

return age;

}

public void setAge(int i) {//提供public方法设置属性

    if   (i 《 0 || i 》 130) {

System.out.println(“年龄不符合规范!”);

}

age = i;

}

public String getName(){//提供public方法获取属性

return name;

}

public void setName(String n){//提供public方法设置属性

name = n;

}

}

关于权限修饰符的使用范围

 Java面向对象的封装原则_设计制作_制造/封装

Java提供的4种权限修饰符,用来修饰类(只能使用缺省、public)及类的内部结构:属性、方法、内部类、构造器

25
141
0
58

相关资讯

  1. 1、传感器的核心部件弹性敏感元件介绍3311
  2. 2、光伏行业进入微利时代探索打开欧美市场“敲门砖”1634
  3. 3、止回阀的安装方法3103
  4. 4、物联网系统评价的模型如何去构建实现1241
  5. 5、2019开年医疗机器人大热,全球医械巨头们都有哪些动作?3628
  6. 6、依托市场大需求,包装设备企业积极寻求新突破3039
  7. 7、机械按键如何去处理按键抖动的问题299
  8. 8、华为投建全光产业生态888
  9. 9、详解简单的电机控制线路2133
  10. 10、搬运机械手有哪些形式4224
全部评论(0)
我也有话说
0
收藏
点赞
顶部