您的位置:首页 > 职场人生

黑马程序员————面向对象之封装

2015-05-03 10:54 155 查看
------- android培训java培训、期待与您交流!
----------

众所周知,面向对象思想有三大特征:封装,继承,多态。

下面详细说说封装。

封装是很好理解的,就是隐藏属性和实现细节,仅对外提供公共的访问方式。

   
封装的体现有类,方法,以及private修饰成员变量等。

类实际就是一个封装体,把事物的属性和行为功能封装成一个整体,使我们在new对象的时候能够使用里面的属性和方法。

方法也是一个封装体,将方法实现的细节封装成一个整体,而我们要用的只是需要调用方法来得到结果,而不必知道方法的具体细节。一个方法可以方便的被多个调用者调用。即使方法发生了变化,也仅对方法进行修改就可以了。

在使用类new对象的时候,可以直接对属性进行赋值,这样很容易给属性赋一个并不符合实际情况的值,而对成员变量的值进行判断必须依靠逻辑语句,显然在成员变量的位置进行逻辑语句的判断并不合理,而应在方法中进行判断才是合理的。这样java就提供了一个private关键字,将成员变量私有化,对外隐藏类中的成员变量。比如可以对不希望直接进行赋值的属性私有化,而对外提供赋值的方法。提高了数据的安全性。

private也是封装的一种体现。

由此可见封装的好处有:

1、  便于使用

2、  提高重用性

3、  将变化隔离

4、  提高安全性

封装的原则就是将不需要对外提供的内容都隐藏起来。

举例:

class Student{

        
//将年龄属性私有化

        
private int age;

        
//对外提供方法,可以对年龄属性进行赋值,并且可以对赋值进行判断

        
//而调用者并不需要知道是如何进行判断的,只要赋值提示不正确,改正即可 

//并且也可以修改方法,改变判断条件

        
public void setAge(int age){

                   this.age = age;

                   if(!(age>0&&age<130)){

                            System.out.println(“年龄超出范围!”);

                   }

       
  }

         //同时对外提供外部对年龄属性的访问方法

        
public int getAge(){

                 
returnage;

        
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐