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

来源:互联网 发布:c语言无法打开txt文件 编辑:程序博客网 时间:2024/06/11 17:42

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());
     }

    }

     

       <<<<< 一个人可以拒绝任何人馈赠的礼物,但决不可以拒绝任何人馈赠的批评教育,尤其是父母及长辈的教育,面对批评万万不可逆反,从某种意义上说,接受教育就是进步,就是幸福。>>>>>