我需要创建一个主类animal
,然后让两个子类继承animal
其属性cat
和dog
,然后我要让多个对象(多个猫和狗)从该类继承,cat
并且dog
(我读到它不是一个真正的类,但它表现为一类)。
多个对象(cat1、mycat、tomcat、dog1、mydog、topdog)需要能够相互交谈和倾听。说话时,我会让他们发出警报或打印文本行。我遇到的问题是听力部分。当 myCat 发出声音时,我希望个人 myDog 打印出“狗听到猫”。这是我到目前为止的代码。
var animal = function (name, sound, listen) {
var f = 0;
this.name = name; // this.prop means prop is public var.
this.sound = sound;
this.listen = listen;
this.makesound = function () {
alert(this.sound);
}
this.listen = function () {
alert(this.name + "heard that");
}
return this;
};
/*--------------- inheritance -----------------------------------*/
var cat = function () {
this.name = name;
this.sound = 'meow';
return this;
};
cat.prototype = new animal();
function dog(name) {
dog.sound = 'woof';
dog.name = name;
return this;
};
dog.prototype = new animal();
/*-------- different kinda dogs/cats ----------------------------*/
var myCat = new cat();
var myDog = new dog();
var tomCat = new cat();
var bigDog = new dog();
/*-----------------------*/
我想我应该使用一个if
声明,我听说我可以使用 like a
if (callback) callback{}
但我尝试实现类似的东西失败了。我是 javascript 的新手,最近几天才开始学习它。任何帮助或帮助将不胜感激。