面向对象(最好理解 最美观 最简洁)

    概   念      

1.类,模板

class People {
    constructor(name, age){
        this.name = name
        this.age = age
    }
    eat() {
        alert(this.name)
    }
}

2.对象(可以使用类创建对象 实例化 初始化)

// 创建对象
let zhang = new People('zhang', 20)
zhang.eat()

     三 要 素        

继承:子类继承父类
封装: 数据的权限与保密

多态:同一接口不同实现

继承(可将公共方法抽离,提高复用,减少冗余)
class Student extends People {
    constructor(name, age, number) {
        super(name, age)
        this.number = number 
    }
    student(){
        alert(this.number)
    }
}

let xiaoming = new Student('xiaoming', 28, 21354)

封装(减少耦合 不该外漏的外漏 利于数据 接口的权限管理    _下划线开头一般是私有属性)

public: 公共 (不写默认)
protected: 对子类开放(只能在函数内部使用 无法外部直接访问)
  private: 对自己开放                                                                                                                

// ts
class People {
    age (public age 不写默认public)
    name
    protected weight
    constructor(name, age){
        this.name = name
        this.age = age
        this.weight = 100
    }
    eat() {
        alert(this.name)
    }
}

class Student extends People {
    constructor(name, age, number) {
        super(name, age)
        this.number = number 
    }
    student(){
        alert(this.number)
    }
}

let xiaoming = new Student('xiaoming', 28, 21354)
xiaoming.weight // 报错  因为只允许在子类中使用  不允许外部使用
多态(同一个接口 不同表现 类似声明一个类 相当于一个接口 )(建议简单了解一下java)

1.保持子类的开放性和灵活性

2.面向接口编程

3.js引用很少

最佳实现 jquery 
以前的人没有设计出计算机是因为想的太复杂
编程应该 简单 & 抽象  

面向对象的意义: 数据结构化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值