黑马程序员————面向对象之封装
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;
}
}
----------
众所周知,面向对象思想有三大特征:封装,继承,多态。
下面详细说说封装。
封装是很好理解的,就是隐藏属性和实现细节,仅对外提供公共的访问方式。
封装的体现有类,方法,以及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;
}
}
相关文章推荐
- 黑马程序员_OC面向对象的三大特性之封装及OC中类方法和self的使用
- 黑马程序员-④面向对象三大特性封装、继承、多态
- 黑马程序员——面向对象3:面向对象的特点之——封装(Encapsulation)
- 黑马程序员学习日记——面向对象-封装
- 黑马程序员——黑马学习日志之五 面向对象,类,函数,匿名对象,封装,构造函数,this,代码块
- 黑马程序员_06_面向对象_成员变量_匿名对象_封装_构造函数_thisPrivate
- 黑马程序员——Java基础---面向对象(面向对象,类,对象,匿名对象,封装,构造函数,构造代码块,this,static,main,帮助文档,静态代码块,单例)
- 黑马程序员----------面向对象之封装继承多态
- 黑马程序员_<<面向对象(对象,封装,satic,构造函数,代码块,this)---01>>
- 黑马程序员_五 【初识面向对象】【类、构造方法、对象】【封装、继承、多态】【this、super】
- 黑马程序员—面向对象(static,封装,继承,多态,内部类,抽象类,接口)总结
- 黑马程序员_java基础之面向对象封装及继承
- 黑马程序员_面向对象(封装)
- 黑马程序员_面向对象-封装
- 黑马程序员<java基础<面向对象(封装,继承,多态,抽象)>>
- 黑马程序员 05 Java基础教学 - 05 - 面向对象(1) 之 类、对象、封装
- 黑马程序员_面向对象的三大特征封装、继承、多态
- 【黑马程序员】- 面向对象_封装
- 黑马程序员-面向对象,封装
- 黑马程序员———面向对象之封装及this和static关键字