Здравствуйте подскажите как реализуются статические методы в фукциональном, прототипном наследовании и с помощью класов в ES6? и чем отличается статический от приватного методы?
к примеру у меня есть код:
function Animal(name, age, gender, height, weight) {
let height = height;
let weight = weight;
this.name = name;
this.age = age;
this.gender = gender;
this.run = function(){
console.log('I\'m runing');
}
this.getName = function(){
return this.name;
};
this.setName = function(newName){
this.name = newName;
}
this.getAge = function(){
return this.age;
};
this.setAge = function(newAge){
this.age = newAge;
}
function greet(){
console.log('Hello! I\'m animal');
}
}
function Mammal (name, age, gender, kind){
Animal.call(this);
this.kind = kind;
this.eat = function(){
console.log('I\'m runing');
}
function greet(){
console.log(`Hello! I'm mammal. My name ${name}, age ${age}, gender ${gender}, kind ${kind}`);
}
}
нужно сделать метод greet статичным у Animal и Mammal