面向对象的程序设计

1.面向对象和面向过程 [ 理解 ]

1.1面向过程

1.理解: 做任何事情亲力亲为,对项目细节把控清晰   === 小兵思想,适合小型项目

1.2 面向对象

2.理解: 做事情找第三方帮助操作,对项目全局把控  === 指挥者思想,适合中大型项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HaVfTYcc-1681660016962)(C:\Users\admin\Desktop\面对对象.png)]

2.类与实例对象

1.类

1.理解: 一类事物的统称,或者具有相同事物抽象描述

2.实例对象

1.理解: 任何东西(看得见 摸得着 感受到)都是对象 === 万物皆对象

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SjcQqG7P-1681660016963)(C:\Users\admin\Desktop\类与对象.png)]

3.ES5类构造

    /**
     * es5类写法: 构造函数 + 原型 
     */

    //构造函数
    function Person(name, age) {

        this.name = name;
        this.age = age;

        //实例对象自身方法: 所有实例对象不能共享该方法
        this.show = function () { }
    }


    //原型: 添加共享方法: 所有实例对象共享
    Person.prototype.eat = function () { }
    Person.prototype.run = function () { }


    //实例化对象
    const p1 = new Person('张三', 30)
    const p2 = new Person('李四', 25)

4. 原型

1.每个函数都有一个原型对象(prototype) === 显示原型
2.实例对象的隐式原型(__proto__)指向显示原型
3.在显示原型上添加的属性和方法,所有实例对象共享
4.原型上有个属性constructor指向构造函数本身

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JfHQGLPN-1681660016964)(C:\Users\admin\Desktop\原型图解.png)]

5. 原型链

//1.概念: 
	由原型形成的链条就是原型链
//2.理解: 
    // 1.原型也是一个对象,它也是由构造函数Object实例化出来
    // 2.原型对象的隐式原型__proto__指向构造函数Object的显示原型
    console.log(Person.prototype.__proto__ === Object.prototype);

    // 3.Object原型对象中contructor属性指向构造函数Object
    console.log(Object.prototype.constructor === Object);

    //4.Object的原型对象的隐式原型指向null
    console.log(Object.prototype.__proto__ === null);

//3.作用
	制定一套访问属性和方法的规则: 实例对象 ==> 1原型 ==> 2原型... ==> Object原型

prototype.proto === null);

//3.作用
制定一套访问属性和方法的规则: 实例对象 ==> 1原型 ==> 2原型… ==> Object原型


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KhxAnfvP-1681660016965)(C:\Users\admin\Desktop\原型链图解.png)]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值