js面向对象

面向对象编程
1,是把事务分解成为一个个对象,然后由对象之间分工合作完成
2,先把对象找出来,再找对象有什么功能,最后把对象的功能使用起来
 
举个例子:
把大象装进冰箱 面向对象做法 
1.大象对象:进去功能
2.冰箱对象:打开功能,关闭功能
3.使用大象和冰箱的功能

总结:
面向对象: 是以对象的功能来划分问题,而不是步骤。
面向过程:是面向步骤,一步步按照步骤来实现
 
面向对象的特性:
1.封装性:就是把代码封装起来方便以后重复使用  
2.继承性:2个对象,一个父对象,一个子对象,子对象就继承父对象的方法
3.多态性:同一个对象在不同的时候体现不同的状态,   例如:勺子,在吃饭的时候可以用来吃饭,在喝汤的时候用来挑汤
 
类和对象
类:是对象的公共部分,是指一大类
对象:是指具体的对象, 例如:一本书,一个人,js里字符串,数组,函数
对象由属性和方法组成:属性是事物的特征,方法是事物的行为。
 
创建一个类 添加属性和方法
class Star {
    // constructor构造函数
    constructor (name, age){
        this.name = name;
        this.age = age
    }
    sing(song){
        // console.log(‘唱歌‘)
        console.log(this.name + ‘唱‘+ song)
    }
}

// 2.利用类创建对象 new
let zbz = new Star(‘张柏芝‘, 18)
let ldh = new Star(‘刘德华‘, 20)
console.log(zbz)
console.log(ldh)

ldh.sing(‘冰雨‘)

 

类的继承
class Father {
    constructor(x, y, fistName){
        this.fistName = fistName;
        this.x = x;
        this.y = y;
    }
    money(){
        console.log(‘钱‘,1000);
    }
    sum(){
        console.log(‘父类的加法‘, this.x + this.y)
    }
    say(){
        return ‘我是父类‘
    }
}
// 子继承父类
class Son extends Father {
    constructor(x,y, name){
        super(x,y); // super调用父类中的构造函数,必须放在this前面
        this.x = x;
        this.y = y;
        this.name = name
    }
    say(){
        // super.say() 调用父类中的普通函数
        console.log(super.say() + ‘的儿子‘)
    }
    jianfa(){
        let jianfa = `${this.name}自己的减法,${this.x - this.y}`
        console.log(jianfa)
    }

}
var son1 = new Son(3,2)
son1.money()
son1.sum()
son1.say()
var son2 = new Son(3,2, ‘小明‘)
son2.jianfa()

 

参考:教程 面向对象ES6:https://www.bilibili.com/video/BV1Kt411w7MP?p=27
 


js面向对象

上一篇:android初体验——HelloWord


下一篇:thinkphp5.0 命令行的使用