//定义动物类
function Animal(nickName, sex, age) {
//定义动物的属性
this.nickName = nickName
this.sex = sex
this.age = age
}
//定义动物的方法
Animal.prototype.sayHi = function() {
console.log(`Hi!我叫${this.nickName},今年${this.age}岁,我是${this.sex}`);
}
Animal.prototype.eat = function(str) {
console.log(`我喜欢吃${str}`);
}
Animal.prototype.sleep = function(time) {
console.log(`我每天睡${time}个小时`);
}
//创建一个动物对象
let a1 = new Animal('佩奇', '女生', 6)
a1.sayHi()
a1.eat('冰淇淋')
a1.sleep(20)
console.log('---------------------------------');
//定义一个狗狗类
function Dog(nickName, sex, age, type) {
//继承Animal的属性
Animal.call(this, nickName, sex, age)
//狗狗特有的属性
this.type = type
}
// 继承Animal的方法
// 将Dog类的原型对象改成一个Animal对象
Dog.prototype = new Animal()
//狗狗特有的方法
Dog.prototype.play = function() {
console.log(`我一只${this.type},我会玩飞盘`);
}
// 创建一个狗狗对象
let d1 = new Dog('旺财', '男生', 4, '哈士奇')
d1.sayHi()
d1.eat('菲力牛排')
d1.sleep(9)
d1.play()
console.log('---------------------------------');
//定义一个猫咪类
function Cat(nickName, sex, age, color) {
//继承Animal的属性
Animal.call(this, nickName, sex, age)
//猫咪特有的属性
this.color = color;
}
// 继承Animal的方法
Cat.prototype = new Animal()
// 猫咪特有额方法
Cat.prototype.pashu = function() {
console.log(`我是一只${this.color}猫,我会爬树`);
}
let c1 = new Cat('琪琪', '女生', 2, '白')
c1.sayHi()
c1.eat('新鲜的蓝鳍金枪鱼')
c1.sleep(10)
c1.pashu()