<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
// 常见person类
class Person {
// 构造器方法
constructor (name, age) {
// 构造器中的this 是 new的类的实例对象
this.name = name
this.age = age
}
// 一般方法
eat () {
console.log("吃吃吃")
}
say () {
// say 方法 放在了哪里 放在了person类的原型上, 给实例使用,this 执行调用的实例对象
// 通过person 实例调用 say时, say中的this就是 person实例p1
console.log(`我的 名字是 ${this.name}, 我的年龄是 ${this.age}`)
}
}
// 创建一个person实例对象
// const p1 = new Person('tom', 22)
// const p2 = new Person('jerry', 15)
// p1.say()
// p2.say()
// console.log(p1)
// console.log(p2)
// p1.say.call({a:11}) // this只想被改变了
class Student extends Person {
constructor (name, age, grade) {
// 实现类继承并且有constructor 构造器时 必须调用super() 继承中需要的参数需在super中传递
super(name, age)
this.grade = grade
}
// 重写从父类继承的方法
say () {
console.log(`我的 名字是 ${this.name}, 我的年龄是 ${this.age} 我的班级是${this.grade}`)
}
study () {
console.log("很努力的学习")
}
}
const s1 = new Student('xiaozhang', 8, '三年级')
console.log(s1)
s1.say()
s1.study()
/*总结
* 类中的构造器 不是必须写的, 要对实例进行一些初始化的操作如添加属性时才写,
* 如果A类继承B类 且 A类中写了构造器 constructor 那么A类构造中必须要调用super
* 类中定义的方法 都是放在了类的原型对象上
* */
</script>
</body>
</html>
class 回顾学习
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 怎样反思自己的教学——学习杜威《我们怎样思维》有感 2015-01-13 14:56:52 来源:普宁市第三中学网...
- 故事大于道理 ——《木偶奇遇记》共读讨论总结 [逯老师说] 今天上午我和孩子回顾总结了《木偶奇遇记》。总结的主要收...
- style.css 内容 .changeColor span{ background: green; } ....
- 中国人工智能大会是我国人工智能领域规格最高、规模最大、影响力最强的专业会议。时隔一年回顾CCAI 2018大会,我...