//声明一个父类
function Person(name, age, sex, weight) {
this.name = name;
this.age = age;
this.sex = sex;
this.weight = weight;
}
//给父类加一个方法
Person.prototype.sayHi = function() {
box.innerHTML = "你好";
};
//原型继承
//声明一个子类
function Student(score) {
this.score = score;
}
//将人类的属性和方法继承给学生
Student.prototype = new Person("A", 10, "男", "50kg");
//这时再声明一个学生的子类
var stu1 = new Student("100");
box.innerHTML =
stu1.name +
"是一个" +
stu1.age +
"岁的" +
stu1.sex +
"生,体重" +
stu1.weight +
"最好的一次成绩是" +
stu1.score;
stu1.sayHi();
//声明另一个学生
var stu2 = new Student("120");
stu2.name = "B";
stu2.age = 20;
stu2.sex = "女";
box.innerHTML =
stu2.name +
"是一个" +
stu2.age +
"岁的" +
stu2.sex +
"生,体重" +
stu2.weight +
"最好的一次成绩是" +
stu2.score;
//构造函数继承
//再声明一个父类
function Programmer(work) {
this.work = work;
}
//声明一个学生函数
function Student(name, age, sex, score, work) {
//通过构造函数将父类的属性复制过来
Person.call(this, name, age, sex);
Programmer.call(this, work);
this.score = score;
}
// 创建一个学生实例
var stu1 = new Student("小明", 10, "男", "100", " 'ctrl + c,ctrl+v'");
box.innerHTML =
stu1.name +
"是一个" +
stu1.age +
"岁的" +
stu1.sex +
"生,体重" +
stu1.weight +
"最好的一次成绩是" +
stu1.score +
"我还会" +
stu1.work;
stu1.sayHi();
var stu2 = new Student("小红", 20, "女", "20kg", "120");
box.innerHTML =
stu2.name +
"是一个" +
stu2.age +
"岁的" +
stu2.sex +
"生,最好的一次成绩是" +
stu2.score;
//组合继承
// 声明一个学生函数
function Student(name, age, sex, score) {
//通过构造函数将父类的属性复制过来
Person.call(this, name, age, sex);
this.score = score;
}
// 将人类的属性和方法继承给学生
Student.prototype = new Person();
//给学生原型增加一个方法
Student.prototype.stady = function() {
box.innerHTML = "今天要努力学习";
};
//创建学生实例
var stu1 = new Student("小明", 10, "男", "100");
box.innerHTML =
stu1.name +
"是一个" +
stu1.age +
"岁的" +
stu1.sex +
"生,最好的一次成绩是" +
stu1.score;
stu1.stady();
var stu2 = new Student("小红", 20, "女", "120");
box.innerHTML =
stu2.name +
"是一个" +
stu2.age +
"岁的" +
stu2.sex +
"生,最好的一次成绩是" +
stu2.score;
stu2.stady();
//寄生继承
// 先创建一个子类
function Student() {
var boy = new Person(); //子类里用一个新变量实例化父类对象,返回新变量
boy.sex = "男";
boy.work = "学生";
return boy;
}
var stu1 = new Student();
box.innerHTML = stu1.sex + stu1.work;
var stu2 = Student();
box.innerHTML = stu2.sex + stu2.work;
本文由 倪建成学习时 编辑,只是普通笔记。若是对你有用,可以自行转载
最后编辑时间为:2019-07-27 00:00:00