什么是面向对象
//父类
class person{
constructor(name, age){
this.name = name;
this.age = age
}
eat() {
console.log(`${this.name} eat somethings`);
}
speak() {
console.log(`my name is ${this.name} age ${this.age}`)
}
}
let zhang = new person('zhang', 20);
zhang.eat();
zhang.speak();
let wang = new person('wang', 21);
wang.eat();
wang.speak();
- 面向对象三要素
- 继承,子类继承父类
- 封装,数据的权限和保密
- 多态,同一接口不同实现
继承
class person{
constructor(name, age){
this.name = name;
this.age = age
}
eat() {
console.log(`${this.name} eat somethings`);
}
speak() {
console.log(`my name is ${this.name} age ${this.age}`)
}
}
class student extends person{
constructor(name, age, number){
super(name, age);
this.number = number;
}
xiaoming() {
console.log(`${this.name} study`)
}
}
let xiaoming = new student('xiaoming', '16', 'A1');
xiaoming.xiaoming();
xiaoming.eat()
封装
public 完全开发
protected 对子类开放
private 对自己开放