javascript面向对象的理解和示例

来源:程序思维浏览:1096次
今天和大家说一下我对面向对象的理解和代码示例,给大家讲一下常用的面向对象写法和继承。

javascript面向对象的理解和示例

面向对象(Object Oriented,OO)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。

其实面向对象是一个思维模式,虽然他是抽象的,但是咱们可以给他具体化。比如:我要去中关村攒电脑。咱们拿这件事来做比喻。

如果是面向过程的思维是:我先到中关村然后到处去问买什么显卡好,买什么内存好,买什么硬盘好,买什么显示器好等等。

如果是面向对象的思维是:我在去买电脑之前先选好显卡,内存,硬盘,显示器等等还有价格,都规划好之后再去购买。

两个思维最大的差异就是面向过程:先行动后思考;面向对象:先思考再行动。

那么从两个差异性的思维就可以看出来,如果开发小型简单的项目可以采用面向过程编程,如果是大型复杂的项目就要采用面向对象的编程模式。

javascript面向对象的设计模式有5种,咱们常用的是:

混合的JSON/构造函数/原型方式

function Car(sColor,iDoors,iMpg) {
  this.color = sColor;
  this.doors = iDoors;
  this.mpg = iMpg;
  this.drivers = new Array("Mike","John");
}

Car.prototype={
     showColor :function() {
          alert(this.color);
     },
     showName:function(){
         alert(this.doors);
      }
}

var oCar1 = new Car("red",4,23);

alert(oCar1.drivers); //输出 "Mike,John,Bill"

优点:此种方式即符合语义又可以扩展新的属性和方法,代码封装性好,易读简洁。

缺点:暂没发现。

应用场景:逻辑比较复杂的程序。

对象的继承如何使用呢?

function A(){
     this.abc=12;
}
A.prototype={
     show:function(){
        alert(this.abc);
     }
}

//b继承a的东西
function B(){
    A.call(this);//相当于this就是new B(),继承属性
}
//继承方法
//B.prototype=A.prototype;

B.prototype={
    fn:function(){
        alert('abc');
    }
}

var objB=new B();
/*objB.show();
objB.fn();*/

var objA=new A();
objA.fn();

好啦,javascript面向对象的理解和示例,今天就讲到这里大家应该都明白了吧!
精品好课
Vue2+Vue3+ES6+TS+Uni-app开发微信小程序从入门到实战视频教程
2021年最新Vue2+Vue3+ES6+TypeScript和uni-app开发微信小程序从入门到实战视频教程,本课程教你如何快速学会VUE和uni-app并应用到实战,教你如何解决内存泄漏,常用UI库的使用,自己...
最新完整React视频教程从入门到精通纯干货纯实战
React是目前最火的前端框架,就业薪资很高,本课程教您如何快速学会React并应用到实战,教你如何解决内存泄漏,常用UI库的使用,自己封装组件,正式上线白屏问题,性能优化等。对正在工作当中或打算学习React高薪就...
jQuery视频教程从入门到精通
jquery视频教程从入门到精通,课程主要包含:jquery选择器、jquery事件、jquery文档操作、动画、Ajax、jquery插件的制作、jquery下拉无限加载插件的制作等等......
HTML5基础入门视频教程易学必会
HTML5基础入门视频教程,教学思路清晰,简单易学必会。适合人群:创业者,只要会打字,对互联网编程感兴趣都可以学。课程概述:该课程主要讲解HTML(学习HTML5的必备基础语言)、CSS3、Javascript(学习...
最新完整React+VUE视频教程从入门到精,企业级实战项目
React和VUE是目前最火的前端框架,就业薪资很高,本课程教您如何快速学会React和VUE并应用到实战,教你如何解决内存泄漏,常用库的使用,自己封装组件,正式上线白屏问题,性能优化等。对正在工作当中或打算学习Re...
HTML5视频播放器video开发教程
适用人群1、有html基础2、有css基础3、有javascript基础课程概述手把手教你如何开发属于自己的HTML5视频播放器,利用mp4转成m3u8格式的视频,并在移动端和PC端进行播放支持m3u8直播格式,兼容...
React实战视频教程仿京东移动端电商
React是前端最火的框架之一,就业薪资很高,本课程教您如何快速学会React并应用到实战,对正在工作当中或打算学习React高薪就业的你来说,那么这门课程便是你手中的葵花宝典。
VUE2+VUE3视频教程从入门到精通(全网最全的Vue课程)
VUE是目前最火的前端框架之一,就业薪资很高,本课程教您如何快速学会VUE+ES6并应用到实战,教你如何解决内存泄漏,常用UI库的使用,自己封装组件,正式上线白屏问题,性能优化等。对正在工作当中或打算学习VUE高薪就...
收藏
扫一扫关注我们