zoukankan      html  css  js  c++  java
  • 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
     


  • 相关阅读:
    DOM面试题【三】
    JS面试题【二】
    移动端面试题【一】
    【python】mysql查询错误告警的处理
    硬币排成线
    书籍复印
    分割回文串
    分割回文串 II
    完全平方数
    俄罗斯套娃信封问题
  • 原文地址:https://www.cnblogs.com/yizhilin/p/14369598.html
Copyright © 2011-2022 走看看