解決js面向對象編程的難題

1、面向對象編程簡介

1.定義: Object Oriented Programming,簡稱OOP,是一種程序設計思想。OOP把對象做爲程序的基本單元,一個對象包含了數據和操做數據的函數。
2.好處:編程

(1)、維護簡單:模塊化是面向對象編程中的一個特徵。實體被表示爲類和同一名字空間中具備相同功能的類,咱們能夠在名字空間中添加一個類而不會影響該名字空間的其餘成員。

(2)、可擴充性:面向對象編程從本質上支持擴充性。若是有一個具備某種功能的類,就能夠很快地擴充這個類,建立一個具備擴充的功能的類。

(3)、代碼重用:因爲功能是被封裝在類中的,而且類是做爲一個獨立實體而存在的,提供一個類庫就很是簡單。

2、實例

下面給你們舉了幾個示例達到的效果一致,但用了不一樣的方法 (最後一種爲完整的利用面向對象編程)*注:具體的詳解在代碼中
1.實例圖:
圖片描述模塊化

2.代碼:
第一種:(直接打印)函數

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

第二種:(*)this

// 面向過程 函數編程
      function Che(name,geshu){//利用了函數的參數傳入
        console.log("車名:"+name+","+"輪胎:"+geshu+"!");
      }
      // 定義參數的值
      Che("汽車","4");
      Che("自行車","2");
      // 調用的這裏只是傳入對應可變參數的值
      // 這種方法叫作【面向過程】的編程方法,相對於上一種更便於改動

第三種:(*)spa

// 面向對象編程
      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();//調用
相關文章
相關標籤/搜索