【无标题】class类

为什么要用构造函数

因为我们一次创建一个对象,里面很多的属性和方法是大量相同的我们只能复制
因此我们可以利用函数的方法重复这些相同的代码我们就把这个函数成为构造函数 有因为这个函数不一样,里面封装的不是普通代码,而是对象
构造函数就是把我们对象里面些相同的属性和方法抽象出来封装到函数里面

构造函数的格式

```function 构造函数名() {
        this.属性 =this.方法 = function () { }
    }
    new 构造函数名()

例子

    function Star(name, age) {
        this.name = name,
            this.age = age
    }
    let zs = new Star('张三', '20')
    console.log(zs);

对象和构造函数的区别

    // 1.构造函数
    //明星泛指的某一大类它类似于 java 语言里面的类(class)
    function Star(uname, age, sex) {
        this.name
            = uname;
        this.age = age;
        this.sex = sex;
        this.sing = function (sang) {
            console.log(sang);
        }
    }
    // 2.对象特指是一个具体的事物刘德华== {name: “刘德华",age: 18, sex: "男", sing: f}
    var ldh = new Star('刘德华', 18, '男'); //调用函数返回的是一个对象
    console.log(ldh);
    //3.我们利用构造函数创建对象的过程我们也称为对象的实例化

用Es6 clsaa方法实现

    class Phon {
        constructor(name, age) {
            this.name = name
            this.age = age
        }
        // 方法
        sing() { '我可以唱歌' }
    }
    let obj = new Phon('张三', '20')
    console.log(obj);
    console.log(obj.sing);

例子

这样写获取不到name属性,因为是在原型上挂载

    function Phone() {
    }
    Phone.name = '手机';
    Phone.change = function () {
        console.log("我可以改变世界")
    }
    let nokia = new Phone();
    console.log(nokia.name);  //undefined
静态属性
    class Phone {
        //静态属性
        static name = '手机';
        static change() {
            console.log("我可以改变世界");
        }
    }
    let nokia = new Phone();
    console.log(nokia.name); //undefined
    console.log(Phone.name);  //手机

Es5方法实现继承

    // 父类
    class Father {
        constructor(house, car, money) {
            this.house = house
            this.car = car
            this.money = money
        }
    }


    // 子类
    class Son extends Father {
        constructor(house, car, money) {
            super(house, car, money)
        }
    }

    let s = new Son('房子', '奥迪', '一个亿')
    console.log(s);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值