面向对象深入理解1

js 面向对象编程oop(oriented object programming)的特点

    1  抽象  : 抓住核心问题;

    2  封装  : 不考虑内部实现   只考虑功能使用

    3  继承  : 从已有的对象上继承新的对象   (a .  多重继承   b.   多态)

    

 对象的组成  

   1  方法===函数  :  过程  、 动态的

   2  属性===变量  :  状态 、 静态的

   

  var  arr=[1,2,1,3,1]    //数组对象

   console.log(typeof arr);  

   var  a=18;  //变量

   arr.a=13;    //属性

  console.log(arr.a);

  arr.fn1=function(){          //方法   对象的方法

          alert('ccc'); 

       alert(this.length);

    }

 

   var obj=new Object();         //创建新的对象  

       obj.name="lucy";           //对象的属性 

       obj.sex="girl";

      obj.showName=function(){        //对象的方法

         alert(this.name); 

    }

    obj.showSex=function(){

      alert(this.sex);

   }

    obj.showName();

    obj.showSex();

 

var obj1=new Object();

    obj1.aaa=12;

     obj1.show=function(){

       alert(this.aaa);         

    }

    obj1.show();

 

    function Person(name,sex){                   //构造函数

      var pero=new Object();                //创建新对象

      pero.name=name;                      //增加属性

      pero.sex=sex;

      pero.showName=function(){          //增加方法

           alert(this.name);

      }

    pero.showSex=function(){

      alert(this.sex);  

     }

     return  pero;               //返回对象

   }

 

  var p1= new Person('cc','girl');     //Person 对象赋值属性给 p1

   console.log(p1.showName());          //打印p1的名字

  var p2=new Person('dd','boy');     //Person 对象赋值属性给 p2

  console.log(p2.showSex());           //打印p2的sex

 

posted @ 2017-01-09 09:54  deveil  阅读(445)  评论(0编辑  收藏  举报