js面向对象编程的特点和基本写法

面向对象(OOP)编程的特点

  • 抽象:抓住核心问题,把“像”的东西抽出来!就叫“抽象”
  • 封装:只能通过对象来访问方法
  • 继承:从已有对象上继承出新的对象
  • 多态:多对象的不同形态

编程就是得学会举一反三,首先我们将“像”的代码抽离出来,然后封装成一个简单易用的函数对象,这时候可以通过继承来实现函数的拓展与延伸,如果这时候你还是觉得使用起来不够灵活,那好办!通过多态来实现“面向接口”的灵活调用。从而实现对代码得心应手到玩转自如的境界!

对象的组成

  • 方法(行为、操作):有过程的,动态的!
  • 属性(变量):静态的

如果把手机比作对象,那么!机身的颜色、屏幕的尺寸、相机像素等就是对象属性,手机是否支持打电话、拍照、发短信等功能就是对象方法

对象的基本写法

var myObj = new Object();//创建了一个空对象
myObj.name = '猫哆哩';//属性
myObj.showName = function(){
     //方法
    alert(myObj.name);
}
myObj.showName();

如上所示就是一段最简单的面向对象写法。我们创建了一个myObj的空对象,并且使它拥有了一个属性、一个方法,然后在外部进行对象调用。当我们自己封装对象的时候,可以这样写:

function myObj(name){
     
    this.name = name;
    this.showName = function(){
     
    alert(this.name);
    }
}
var objFn = new myObj('猫哆哩');
objFn.showName();

当new去调用一个函数时我们称这个函数为“构造函数”,此时这个函数中的this指向的就是创建出来的那个对象,函数中的返回值就是this对象(无需使用return返回,我们称作“隐式返回”)

还记得上一篇文章的最后一段话么?至此,我们便可以像原生对象那样去封装我们自己的对象了。

你可能感兴趣的:(js面向对象编程,js面向对象)