您的位置:首页 > 编程语言 > Java开发

面像对像的Java实现——封装

2011-05-14 08:30 155 查看
l         封装 (encapsulation)
隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员
也可以理解成:就是将属性私有化,提供公有的方法访问私有的属性。做法就是修改属性的可见性来限制对属性的访问,并为每个属性创建一对取值(getter)方法和赋值(setter)方法,用于对这些属性的访问。
 
l      封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过 外部接口,一特定的访问权限来使用类的成员

方法有构造方法,静态方法,实例方法,
构造方法负责对像成员的鹤立初始化工作,为实例变量赋予合适的初始值,
构造方法方法名卢类名相同
构造方没有返回类型、
 
l      方法重载:
实际上,在Java 中,如果有两个方法名称相同,但参数项不同,那么一个方法是别一个方法的重载方法,而此过程称为“方法重载”。比如司机有三个方法,他会开轿车,会开巴士、会开火车,方法名都是驾驶,这三个方法具有不同的参数,分别是:轿车,巴士、火车,而这三个方法的暗送秋波实现各不相同。

例:下面的类AccpTeacher7 具有两人构造方法,但参数列表不同,这就是构造方法重载,我偿可以通过调用Accpteacher7 不同的构造方法来表达对像的多种初始化行为。

package Ch1;
   public class AccpTeacher7 {
     private String name; //教员姓名
     private String school = "广州中心"; //所在中心
     public AccpTeacher7(String name){
      this.name = name;   //设定教员姓名
 }
 public AccpTeacher7(String name,String school){
      this.name = name; //设定教员姓名
      this.school = school;//设定教员所在的中心。
 }
 public String introduction(){
      return "大家好!我是" +school+ "的" + name ;
 }
}

通过 new 语句创建一个对像时,可以实现不同的条件下让不同的对像具有不同的初始化形为,在默认情况下,教师来自广州中心,在其它情况下,需要提供教员姓名和教员所在中心
package Ch1;
public class CopyOfAccpTeacher7Test {
 /**
  * @param args
  */
 public static void main(String[] args) {
  AccpTeacher7 teacher1 = new AccpTeacher7("波哥");
  System.out.println(teacher1.introduction());
  AccpTeacher7 teacher2 = new AccpTeacher7("军哥","北京中心");
  System.out.println(teacher2.introduction());
 }
}
 
   <<<<< 一个人可以拒绝任何人馈赠的礼物,但决不可以拒绝任何人馈赠的批评教育,尤其是父母及长辈的教育,面对批评万万不可逆反,从某种意义上说,接受教育就是进步,就是幸福。>>>>>
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息