资讯专栏INFORMATION COLUMN

解决js面向对象编程的难题

ermaoL / 922人阅读

摘要:一面向对象编程简介定义,简称,是一种程序设计思想。好处维护简单模块化是面向对象编程中的一个特征。可扩充性面向对象编程从本质上支持扩充性。

一、面向对象编程简介

1.定义: Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。
2.好处:

(1)、维护简单:模块化是面向对象编程中的一个特征。实体被表示为类和同一名字空间中具有相同功能的类,我们可以在名字空间中添加一个类而不会影响该名字空间的其他成员。

(2)、可扩充性:面向对象编程从本质上支持扩充性。如果有一个具有某种功能的类,就可以很快地扩充这个类,创建一个具有扩充的功能的类。

(3)、代码重用:由于功能是被封装在类中的,并且类是作为一个独立实体而存在的,提供一个类库就非常简单。
二、实例

下面给大家举了几个示例达到的效果一致,但用了不同的方法 (最后一种为完整的利用面向对象编程)*注:具体的详解在代码中
1.实例图:

2.代码:
第一种:(直接打印)

      console.log("车名:汽车,轮胎:4");
      console.log("车名:自行车,轮胎:2");

第二种:(*)

  // 面向过程 函数编程
      function Che(name,geshu){//利用了函数的参数传入
        console.log("车名:"+name+","+"轮胎:"+geshu+"!");
      }
      // 定义参数的值
      Che("汽车","4");
      Che("自行车","2");
      // 调用的这里只是传入对应可变参数的值
      // 这种方法叫做【面向过程】的编程方法,相对于上一种更便于改动

第三种:(*)

      // 面向对象编程
      var qiche={//"qiche"为对象的自变量
        name:"汽车",
        geshu:"4",
        Che:function(name,geshu){//利用了函数的参数传入
          console.log("车名:"+this.name+","+"轮胎:"+this.geshu+"!");
        }
      };
      var zhixingche={
        name:"自行车",
        geshu:"2",
        Che:function(name,geshu){//利用了函数的参数传入
          console.log("车名:"+this.name+","+"轮胎:"+this.geshu+"!");//this.name代表当前对象
        }
      };

      qiche.Che();
      zhixingche.Che();//调用
      // 对象由属性和方法组成
      // 属性是对象特有的不变的,方法可以理解为对象的行为,方法通常为一个函数
      // 代码重复的较多

第四种(*)

      // 面向对象编程  进阶
      // 类的概念
      // 对象是类的一个具体实例  如:汽车是车的一种
      // 类是对象的抽象   或者说  是由对象泛化  如:我们把汽车,自行车统一叫做车
      function Car(name,geshu){//Car叫类
        this.name=name;
        this.geshu=geshu;//=后面的为传入的参数
        this.Che=function(){
          console.log("车名:"+this.name+","+"轮胎:"+this.geshu+"!");
        }
      }
      //这个函数用来创建对象
      var qiche=new Car("汽车","4");
      var zhixingche=new Car("自行车","2");

      // 我们把这组用来创建对象的函数叫做【构造函数】
      // 【构造函数】的功能就是创建对象
      qiche.Che();
      zhixingche.Che();//调用

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/97496.html

相关文章

  • Javascript面向对象编程 -- 设计模式

    摘要:组合构造函数原型模式解决构造传参和共享问题,可以组合构造函数原型模式不共享的使用构造函数共享的使用原型模式强制指向这种模式也是最常见也是最常用的模式,这种混合模式很好的解决了传参和引用共享的大难题。 写在前面: 之前的文章都是写构造函数,原型之类的。但是我们都知道原型最大的优点也是缺点就是共享。也是我们最头疼的问题.据共享的缘故,导致很多开发者放弃使用原型,因为每次实例化出的数据需要保...

    Cciradih 评论0 收藏0
  • 学Java编程需要注意地方

    摘要:学编程真的不是一件容易的事不管你多喜欢或是多会编程,在学习和解决问题上总会碰到障碍。熟练掌握核心内容,特别是和多线程初步具备面向对象设计和编程的能力掌握基本的优化策略。   学Java编程真的不是一件容易的事,不管你多喜欢或是多会Java编程,在学习和解决问题上总会碰到障碍。工作的时间越久就越能明白这个道理。不过这倒是一个让人进步的机会,因为你要一直不断的学习才能很好的解决你面前的难题...

    leanxi 评论0 收藏0
  • js异步解决方案 --- 回调函数 vs promise vs generater/yield vs

    摘要:异步流程管理说白了就是为了解决回调地狱的问题。对象代表一个异步操作,有三种状态进行中已成功和已失败。如果改变已经发生了,你再对对象添加回调函数,也会立即得到这个结果。执行函数后返回的是一个遍历器对象,可以依次遍历函数内部的每一个状态。 javascript -- 深度解析异步解决方案 高级语言层出不穷, 然而唯 js 鹤立鸡群, 这要说道js的设计理念, js天生为异步而生, 正如布道...

    0xE7A38A 评论0 收藏0
  • 《Java编程思想》读书笔记-对象导论

    摘要:而面向对象则是向程序员提供表示问题空间中元素的工具,我们将问题空间中的元素及其在解空间中的表示称为对象。为什么要把对象看作是服务提供者呢这是将问题分解为对象集合的一种合理方式。职能太多,可能会导致对象的内聚性降低。在试图将子类对象当作其基类 计算机是头脑延伸的工具,是一种不同类型的表达媒体。本文以背景性的和补充性的材料,介绍包括开发方法概述在内的面向对象程序设计(Object-orie...

    NickZhou 评论0 收藏0
  • 函数式编程面向对象编程[5]:编程本质

    摘要:函数式编程与面向对象编程编程的本质之剑目录编程的本质读到两篇文章写的不错综合摘录一下复合是编程的本质函数式程序员在洞察问题方面会遵循一个奇特的路线。在面向对象编程中,类或接口的声明就是表面。 函数式编程与面向对象编程[5]:编程的本质 之剑 2016.5.6 01:26:31 编程的本质 读到两篇文章,写的不错, 综合摘录一下 复合是编程的本质 函数式程序员在洞察问题方面会遵循...

    miracledan 评论0 收藏0

发表评论

0条评论

ermaoL

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<