Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body>
</body>
</html>
 
/*Класс Электрическая Сеть*/
function ElectricNetwork() {
  this.listElements = [];
}
ElementsNetwork.prototype.makeBalance = function(timeOfDay) {
  for (var i = 0; i < this.listElements.length; i++) {
    this.balance += (listElements[i].power.timeOfDay);
  }
};
ElectricNetwork.prototype.calcGenIntake = function() {
  
};
ElectricNetwork.prototype.calcPrice = function() {
  
};
ElectricNetwork.prototype.addNewElement = function(element) {
  if (!(element instanceof ElementsNetwork)) {
    throw new Error("Нельзя добавить объект, ненаследующийся от ЭлементаСети!");
  }
  
  this.listElements.push(element);
};
ElectricNetwork.prototype.removeElement = function(element) {
  
};
/*Класс Элемент Электрической Сети*/
function ElementsNetwork() {
  
}
/*Класс Электростанция*/
function Powerhouse(generatedPower) {
  this.power = { afternoon: generatedPower / 2, night: generatedPower / 2 };
  
  var constructor = this.constructor;
  Powerhouse.prototype = Object.create(ElementsNetwork.prototype);
  Powerhouse.prototype.constructor = constructor;
}
/*Класс Солнечная Панель*/
function SolarPanel(generatedPower) {
  this.power = { afternoon: generatedPower, night: 0 };
  
  var constructor = this.constructor;
  SolarPanel.prototype = Object.create(ElementsNetwork.prototype);
  SolarPanel.prototype.constructor = constructor;
}
/*Класс Дом*/
function House(costsAfternoon, costsNight, persons) {
  this.costsAfternoon = costsAfternoon;
  this.costsNight = costsNight;
  this.persons = persons;
  
  this.power = {};
  
  var constructor = this.constructor;
  House.prototype = Object.create(ElementsNetwork.prototype);
  House.prototype.constructor = constructor;
}
House.prototype.calcCostsAfternoon = function() {
  this.power.afternoon = 0 - this.costsAfternoon * this.persons;
};
House.prototype.calcCostsNight = function() {
  this.power.night = 0 - this.costsNight * this.persons;
};
/*Класс Линия Электропередач*/
function PowerLine(bandwidth, price) {
  this.bandwidth = bandwidth;
  this.price = price;
  
  var constructor = this.constructor;
  PowerLine.prototype = Object.create(ElementsNetwork.prototype);
  PowerLine.prototype.constructor = constructor;
}
/*Применение*/
var electricNetwork1 = new ElectricNetwork();
var powerhouse1 = new Powerhouse(100);
var solarPanel1 = new SolarPanel(4);
var house1 = new House(0.004, 0.001, 200);
var powerLine1 = new PowerLine(20, 100);
electricNetwork1.addNewElement(powerhouse1);
electricNetwork1.addNewElement(solarPanel1);
electricNetwork1.addNewElement(house1);
electricNetwork1.addNewElement(powerLine1);
electricNetwork1.makeBalance("afternoon");
console.log(electricNetwork1.calcGenIntake());
console.log(electricNetwork.calcPrice());
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers