Объектно-ориентированный JavaScript - Как Определить Класс В Классе? от примера C#

Это не работает в последних версиях Moq (по крайней мере начиная с 3,1), он должен быть указан в Verify метод, как упомянуто в ответе.

На самом деле, лучше указать .AtMost(0) после оператора Returns.

var m = new Mock<ISomething>();
m.Expect(x => x.Forbidden()).Returns("foo").AtMost(0);

, Хотя "броски" также работает, AtMost(0), более выразительно, по моему скромному мнению.

6
задан divinci 2 September 2009 в 12:45
поделиться

3 ответа

function Engine(size) {
    var privateVar;

    function privateMethod () {
      //...
    }

    this.publicMethod = function () {
       // with access to private variables and methods
    };

    this.engineSize = size; // public 'field'
}

function Car() { // generic car
    this.engine = new Engine();
}

function BMW1800 () {
  this.engine =  new Engine(1800);
}

BMW1800.prototype = new Car(); // inherit from Car


var myCar = new BMW1800();
15
ответ дан 8 December 2019 в 13:01
поделиться

Так вы действительно хотите знать, как один объект может содержать другой? Вот очень простое преобразование вашего примера:

function Engine()
{
    this.EngineSize=1600;
}

function Car()
{
    this.engine=new Engine();
}

var myCar=new Car();
3
ответ дан 8 December 2019 в 13:01
поделиться
function Engine(){ // this is constructor. Empty since Engine do nothing. 
}
Engine.prototype.EngineSize=null; // this is public property

function Car(){ // this is Car constructor. It initializes Engine instance and stores it in Engine public property
    this.Engine =new Engine();
}

Car.prototype.Engine =null;

Когда вы создадите новый экземпляр автомобиля. Конструктор автомобилей создаст новый экземпляр Engine и назначит его свойству Engine экземпляра Car.

0
ответ дан 8 December 2019 в 13:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: