【无标题】

***面向对象和面向过程的区别?***
面向过程是一步一步的来,先来后到,面向过程是按照分析好的步骤一步一步的执行,解决问题,面向对象是以对象的功能来划分,不是按照步骤来划分,
***面向对象的特点?***
编码灵活,代码可复用,容易维护,继承性高,适合大型项目,
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!--     
        面向对象 与 面向过程

        面向过程  >= 将大象放进冰箱
            1.打开冰箱
            2.把大象放入冰箱
            3.关上冰箱

        按照分析好的步骤一步一步的执行,解决问题

        面向对象 => 将大象放进冰箱 (是分工合作,不必按照一步一步的去执行)
            面向对象将事物分成一个一个的对象,然后分工合作;

            1. 大象是一个对象
                    设置一个将大象放入到冰箱里的功能

            2. 冰箱是一个对象
                    设置一个打开冰箱功能
                    设置关闭冰箱功能

        面向对象是以对象功能来划分;不是按步骤来划分;

        面向对象程序开发思想;每一个对象都有自已明确的功能;
            编码灵活,代码可复用,容易维护,继承性,适合大型项目;

        
        把数据及对数据的操作放在一起;作为一个相互依赖的整体 -- 对象;
            对象同类对象抽离进行复用;形成类

     -->

    <script>
        // 工厂模式
        let obj = {
            name:"夏栀",
            food:"奶茶",
            add(val){
                console.log(this); //代表着obj
                console.log(this.name + val + this.food);
            }
        }

        obj.add("站着")
        obj.add("坐着")

       

    </script>
</body>
</html>

面向对象由什么和什么的?

面向对象是由属性和方法组成的,属性就是描述的信息,方法就是函数行为,

es6 class 类面向对象写法的注意事项

  1. 面向对象没有声明提升
  2. 使用class类,必须通过new 构造
  3. 返回一个类实例对象
  4. class命名与 变量名规范一致
  5. constructor类的默认方法,类默认方法会调用constructor函数,在这里写对应的属性
  6. class命名首字母必须大小
  7. 通过this设置的属性,在对应的this类里面任何位置都可以访问到
  8. class类里面任何基本上函数里面的this都是代表自身class类
  9. constructor默认return this;自已修改return 设置返回了引用类型将会修改返回的数据
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
    <!--
           把数据及对数据的操作放在一起;作为一个相互依赖的整体 -- 对象;
            对象同类对象抽离进行复用;形成类

           es6 class 类面向对象写法;

           1. class 声明类{ },没有声明提升
           2. 使用class类 必须通过new 构造
           3. 返回一个类实例对象
           4. class命名与 变量名规范一致
           5. class命令首字母大写
           6. constructor类的默认方法,类默认会调用constructor函数;在这里面写对应的属性
           7. 通过this设置的属性,在对应的this类里面任何位置都可以访问到
           8. class类里面任何基本上函数里面的this都是代表自身class9. constructor默认return this; 自已修改return 设置返回了引用类型将会修改返回的数据

           面向对象由
              属性和方法组成
                属性
                    描述信息
                方法
                    行为,操作
      -->
    <script>
        // class类
        class Person{
            constructor(){
                // 通用的属性 this是Person类对象{} 通过this设置的属性,在对应的类里面任何位置都可以访问到
                this.name = "夏栀";
                this.food = "奶茶";

                // 默认返回this对象 自已修改return 返回了引用类型将会修改返回的数据
                return this
            }
            // 不要写,
            add(value){
                console.log(this.name + this.food);
            }
        }
        // result 实例
        let result = new Person()
        console.log(result);

    </script>
</body>
</html>

原型链

实例如何到原型上去?
–prototype–
类如何到原型上去?
Person.prototype
原型如何到类上去?
constructor

实例拿到原型上的方法,实例会继承原型上的内容

 <script>
        // 原型链
        // class Person{
        //     constructor(name,food){
        //         this.name = name;
        //         this.food = food;
        //         return this 
        //     }
        //     // 原型
        //     add(value){
        //             console.log(this.name + value + this.food);
        //     }
        //     add1(){

        //     }
        // }

        // // 实例
        // let result = new Person("夏栀","奶茶");
        // let result1 = new Person("夏栀","水果");

        // result.add("站着喝")
        // result1.add("坐着吃")

        function person(name,food){
            this.name = name;
            this.food = food;
        }

        let result1 = new person("夏栀","奶茶")
        console.log(result1);

     



    
        
    </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值