ES6 基础
This commit is contained in:
49
code/ES6/src/09_class/01_employee.js
Normal file
49
code/ES6/src/09_class/01_employee.js
Normal file
@ -0,0 +1,49 @@
|
||||
class Employee {
|
||||
|
||||
/*构造器*/
|
||||
constructor(name, age) {
|
||||
this.name = name;
|
||||
this.age = age;
|
||||
}
|
||||
/*实例方法*/
|
||||
sayName() {
|
||||
console.log("员工:" + this.name);
|
||||
}
|
||||
|
||||
/*静态方法*/
|
||||
static create(name) {
|
||||
return new Employee(name);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
let employee = new Employee("heibai");
|
||||
employee.sayName();
|
||||
|
||||
class Manager extends Employee {
|
||||
|
||||
/*覆写原有的方法*/
|
||||
sayName() {
|
||||
console.log("领导:" + this.name);
|
||||
}
|
||||
}
|
||||
|
||||
let manager = new Manager("ying");
|
||||
manager.sayName();
|
||||
|
||||
function getBase(flag) {
|
||||
if (flag) {
|
||||
return Manager;
|
||||
} else {
|
||||
return Employee;
|
||||
}
|
||||
}
|
||||
|
||||
class CEO extends getBase(true) {
|
||||
}
|
||||
|
||||
let ceo = new CEO();
|
||||
console.log(ceo instanceof Manager);
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user