实际操作中,我们可能会遇到管理员和用户都有注册和登录的权限,但是管理员又有删除用户的权限
类与继承(es6)
我们创建两个类属性User和Admin,让Admin有自己的方法(删除操作deletePerson)的同时,继承User中的登录方法
class User {
constructor(username, password) {
this.username = username
this.password = password
}
login() {
console.log('登陆操作')
}
}
class Admin extends User {
//定义删除操作
deletePerson() {
console.log('删除一个人')
}
}
let admin = new Admin()
admin.deletePerson()
基于原型的继承(es5)
我们创建两个方法User和Admin,使Admin可以使用User中的login方法,当Admin.prototype成为User的实例时,就可以使用User中的方法了,即Admin.prototype=new User()
function User(username, password) {
this.username = username
this.password = password
this.login = function () {
console.log('登陆操作')
}
}
function Admin() {
this.deletePerson = function () {
console.log('删除一个人')
}
}
Admin.prototype = new User()
let admin = new Admin()
admin.login()