亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

javascript的oop怎么寫

發布時間:2023-05-16 16:38:23 來源:億速云 閱讀:113 作者:iii 欄目:web開發

這篇“javascript的oop怎么寫”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“javascript的oop怎么寫”文章吧。

  1. 原型(prototype)和構造函數(constructor)

在JavaScript中,一個對象的屬性和方法可以通過原型來共享,而構造函數則用于創建一個新對象并初始化其屬性。以下是一個使用構造函數和原型的簡單例子:

function Person(name, age) {
  this.name = name;
  this.age = age;
}

Person.prototype.sayHi = function() {
  console.log("Hi, my name is " + this.name + " and I'm " + this.age + " years old.");
}

var person1 = new Person("John", 30);
var person2 = new Person("Mary", 25);

person1.sayHi(); // Hi, my name is John and I'm 30 years old.
person2.sayHi(); // Hi, my name is Mary and I'm 25 years old.

在上面的例子中,我們定義了一個Person構造函數,初始化了nameage屬性。然后,我們使用Person.prototype給每個Person對象添加了一個sayHi方法,這個方法可以被所有Person對象共享。最后,我們創建了兩個Person對象,并調用了它們的sayHi方法。

  1. 類(class)

在ES6中,JavaScript引入了類的概念,并使用關鍵字class來實現。類提供了一種更簡潔、更易于理解的語法,用于定義對象。

以下是一個使用類的例子:

class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
  
  sayHi() {
    console.log("Hi, my name is " + this.name + " and I'm " + this.age + " years old.");
  }
}

let person1 = new Person("John", 30);
let person2 = new Person("Mary", 25);

person1.sayHi(); // Hi, my name is John and I'm 30 years old.
person2.sayHi(); // Hi, my name is Mary and I'm 25 years old.

在上面的例子中,我們使用class關鍵字定義了一個Person類,并在constructor方法中初始化了nameage屬性。然后,我們定義了一個sayHi方法,用于輸出一個招呼。最后,我們創建了兩個Person對象,并調用了它們的sayHi方法。

  1. 繼承(inheritance)

在OOP中,繼承是指從一個已有的對象中派生出一個新的對象,新對象繼承了原來的對象的屬性和方法。在JavaScript中,繼承可以通過使用prototypeclass來實現。

以下是使用prototype實現繼承的例子:

function Person(name, age) {
  this.name = name;
  this.age = age;
}

Person.prototype.sayHi = function () {
  console.log("Hi, my name is " + this.name + " and I'm " + this.age + " years old.");
}

function Student(name, age, major) {
  Person.call(this, name, age);
  this.major = major;
}

Student.prototype = Object.create(Person.prototype);
Student.prototype.constructor = Student;
Student.prototype.sayMajor = function() {
  console.log("My major is " + this.major + ".");
}

let person1 = new Person("John", 30);
let student1 = new Student("Mary", 25, "Computer Science");

person1.sayHi(); // Hi, my name is John and I'm 30 years old.
student1.sayHi(); // Hi, my name is Mary and I'm 25 years old.
student1.sayMajor(); // My major is Computer Science.

在上面的例子中,我們定義了一個Person構造函數,在原型中添加了sayHi方法。另外,我們定義了一個Student構造函數,通過使用call方法調用了Person構造函數來初始化nameage屬性,并添加了一個major屬性。然后,我們使用Object.create方法創建了一個Person.prototype的副本,并將其指定給Student.prototype,以便Student對象可以繼承Person對象的屬性和方法。最后,我們定義了一個sayMajor方法,用于輸出學生的專業。最終,我們創建了一個Person對象和一個Student對象,并調用了他們的方法。

以下是使用class實現繼承的例子:

class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
  
  sayHi() {
    console.log("Hi, my name is " + this.name + " and I'm " + this.age + " years old.")
  }
}

class Student extends Person {
  constructor(name, age, major) {
    super(name, age);
    this.major = major;
  }
  
  sayMajor() {
    console.log("My major is " + this.major + ".");
  }
}

let person1 = new Person("John", 30);
let student1 = new Student("Mary", 25, "Computer Science");

person1.sayHi(); // Hi, my name is John and I'm 30 years old.
student1.sayHi(); // Hi, my name is Mary and I'm 25 years old.
student1.sayMajor(); // My major is Computer Science.

在上面的例子中,我們定義了一個Person類,在constructor方法中初始化了nameage屬性,并在sayHi方法中輸出了一個招呼。然后,我們使用extends關鍵字創建了一個Student類,并使用super關鍵字調用了Person類的constructor方法來初始化nameage屬性,并添加了一個major屬性。最后,我們定義了一個sayMajor方法,用于輸出學生的專業。最終,我們創建了一個Person對象和一個Student對象,并調用了他們的方法。

以上就是關于“javascript的oop怎么寫”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永平县| 瓦房店市| 青浦区| 红安县| 东阿县| 山东省| 桃源县| 桂东县| 潍坊市| 民和| 安徽省| 寿阳县| 延安市| 奉贤区| 湟中县| 岱山县| 安阳县| 泸西县| 海门市| 宜阳县| 务川| 华亭县| 武功县| 承德市| 宜兴市| 珲春市| 龙山县| 安仁县| 绥阳县| 阿合奇县| 乐山市| 唐山市| 北流市| 神农架林区| 离岛区| 双流县| 方山县| 黄陵县| 马龙县| 洪雅县| 玉门市|