ES6 类的基本使用1

1.复习回顾面向对象
        // //构造函数
        // function Point(){
        //     this.name = "张三";
        //     this.age = "18"
        // }

        // Point.prototype.eat = function(){
        //     console.log("大家都吃了吗?");
        // }
        
        // var p = new Point();     
        // console.log(p.name)
2.类的概念

类的概念 作为创建对象的模板,通过class关键字,来定义类
汽车类 : 奔驰, 宝马,荣威
人 类 : 欧洲人, 亚洲人, 非洲人, 少数人种
整个class类里面的内容相当于上面构造函数里的内容和原型的集合体
构造函数中的内容放在constructor里面 如果不写会自动生成一个kongde
constructor里面的this指向实例化对象p

        class Point{
            constructor(){  //constructor 默认放在构造函数中
                this.name = "张三";
                this.age = "18";

            }
            eat(){    //原型(大多数方法都放原型里) 直接写 
                console.log('吃了么您')
            }
        }
        // 实例对象p    如果在实例化一个对象t那就指向t(this谁调用指向谁)
        let p = new Point(); // 类 结合new 构造器 实例化了一个对象p
                            // 对象里的内容包含了 构造函数 以及原型中的方法
        console.log(p.name);
        p.eat();
3.下面讲传参问题
        class Point{
            constructor(name){  //形参 接收实参的数据 这里的实参只能在
                                // constructor里面用 ,如果原型里面想用
                                // 通过this.name = name;来保存(到this)
                this.name = name; //重要
                this.age = "18";

            }
            eat(){    //如果这里想 用
                console.log(`吃了么您${this.name}`)
            }

        let p = new Point("伤心太平洋"); //实参哪里调用那里传
                            
        console.log(p.name);
        p.eat();
4.set get关键字可以设置一个自定义名称的关键字 用来存值和取值
        class Point{
            constructor(name,val){  //形参 
                this.name = name;
                this.age = "18";

                this.setData(val) //在函数内部也可以调用
            }
            eat(){    //
                console.log(`吃了么您${this.name}`)
            }
            // set prop(vale){
            //     console.log(`我的值是${vale}`)
            // }

            // get prop1(){ 
            //     return "非常时期"
            // }
            
            // 方法二推荐 自定义名称 向对应的更加灵活 
            setData(value){  //这种事在类的外部调用 ,在类的内部也可调用
                this.val = value;
                // console.log(this.val)
            }
            getData(){
                return this.val
            }
        }   
        let p = new Point("伤心太平洋","大西洋"); //实参哪里调用那里传                            
        console.log(p.name);
        p.eat();
        
        // p.prop = 1234;
        // console.log(p.prop1)

        // p.setData("我是第二种方法");
        console.log(p.getData());

需要观看视频的留言哦

发布了98 篇原创文章 · 获赞 26 · 访问量 7533

猜你喜欢

转载自blog.csdn.net/weixin_46146313/article/details/104234042