zoukankan      html  css  js  c++  java
  • javascript OOP 面向对象编程

    Pseudo-class declaration

    原文地址:http://javascript.info/tutorial/pseudo-classical-pattern#pseudo-class-declaration 

    pseudo-class consists of the constructor function and methods.
    For example, here’s the Animal pseudo-class with single method sit and two properties.

    function Animal(name) {
      this.name = name
    }
    
    Animal.prototype = { 
      canWalk: true,
      sit: function() {
        this.canWalk = false
        alert(this.name + ' sits down.')
      }
    }
    
    var animal = new Animal('Pet') // (1)
    
    alert(animal.canWalk) // true
    
    animal.sit()             // (2)
    
    alert(animal.canWalk) // false
    

      

    1. When new Animal(name) is called, the new object recieves __proto__ reference toAnimal.prototype, see that on the left part of the picture.
    2. Method animal.sit changes animal.canWalk in the instance, so now this animal object can’t walk. But other animals still can.

    The scheme for a pseudo-class:

    • Methods and default properties are in prototype.
    • Methods in prototype use this, which is the current object because the value of this only depend on the calling context, so animal.sit() would set this to animal.
  • 相关阅读:
    73. Set Matrix Zeroes
    289. Game of Live
    212. Word Search II
    79. Word Search
    142. Linked List Cycle II
    141. Linked List Cycle
    287. Find the Duplicate Number
    260. Single Number III
    137. Single Number II
    Oracle EBS中有关Form的触发器的执行顺序
  • 原文地址:https://www.cnblogs.com/oxspirt/p/4435118.html
Copyright © 2011-2022 走看看