js面向对象编程

面向对象编程

1.1 认识面向对象

面向对象编程其实是一种思想(面向过程,面向对象)

在这里插入图片描述

面向过程:

比如说你现在肚子饿了,想要去吃面条,那么在做面条的过程中用多少面粉,用多少水,怎么和面和切面条,这些过程被分为了步骤,一步一步去执行,这种执行的方式叫做**面向过程**。
在这里插入图片描述

面向对象:

还是吃面条,但是我们现在可以直接拿出手机来在外卖平台上下订单,找到你喜欢的餐厅和喜欢的骑手,你只需要在家里等着吃面条,在这个过程中我们只下达了两道命令,一个是在手机上下单另一个是在家里等着吃面条,这叫做面向对象编程。
在这里插入图片描述

1.2 看完了编程思想的基本概念之后,这里有一道数学题可以帮助我们更好的理解什么是面向对象编程。

车 60km/h
路600km
问:多久跑完?

在这里插入图片描述
----相信很多人看到这个题的时候心里就已经有了答案,可以直接用600去除以60得到结果10小时,但是在这道题中我们根本没有用到车和路,而是只用到了600和60把这两个数字提取出来之后直接做了除法得出结果:

  var hours = 600 / 60;
            alert(hours);//10
            

----这种方法就叫做:
面向过程编程思想:只关心数学逻辑

而面向对象编程思想直接将生活逻辑映射到我们的程序中
过程:
1、分析题目的实体
2、设置实体属性和功能
3、让实体之间相互作用完成结果。

			 车
             speed 60km/h
             run: 可以跑在路上
                        
             路
             length 600km
             注】最后真的让车跑在路上,得出结果?
             
             请先看1.3对象的语法再回到这道题上
            
             var cars = {
                speed: 60,
                run: function(road){
                    return road.length / this.speed;
                }
            }

            var road = {
                length: 600
            }

            var hours = cars.run(road);
            alert(hours);   //10

1.3对象的语法:

                    类:具有一类相同特征事物的抽象概念。
                    对象:对象是具体的某一个个体,某一个实例。

                
                     类       对象
                    电脑    你桌上那台
                    学生    电脑前的你 

                【注】javascript并没有提供类这个语法,只给我们提供了对象的语法。
  
            1、可以通过new运算符创建对象
            2、可以省略new创建对象
            3、直接常量进行赋值,创建对象    【注】对象的常量是通过{}表示

            var obj1 = new Object();
            var obj2 = Object();
            var obj3 = {};

            //添加属性
            obj3.username = "钢铁侠";
            obj3["age"] = 18;

            //添加方法
            obj3.showName = function(){
                alert("我的名字叫" + this.username);
            }

            obj3["showAge"] = function(){
                alert("今年我" + this.age + "岁");
            }

            var obj4 = {
                username: "钢铁侠",
                age: 18,
                sex: "男",
                showName: function(){
                    alert("我的名字叫" + this.username);
                }
            }
            alert(obj4.age); //18
            obj4.showName(); //我的名字叫钢铁侠

1.4 创建一个对象

            //创建一个人
            var person = new Object();
            person.name = "blue";
            person.sex = "男";

            person.showName = function(){
                alert("我的名字叫:" + this.name);
            }
            person.showSex = function(){
                alert("我的性别是:" + this.sex + "的");
            }

            person.showName(); //我的名字叫: blue
            person.showSex();  //我的性别是: 男的
            
            //创建第二个人  red 女
            var person2 = new Object();
            person2.name = "red";
            person2.sex = "女";

            person2.showName = function(){
                alert("我的名字叫:" + this.name);
            }
            person2.showSex = function(){
                alert("我的性别是" + this.sex + "的");
            }
            person2.showName(); //我的名字叫:red
            person2.showSex();  //我的性别是:女的

在这两部分创建对象的代码中大家应该不难看出有很多重复的代码,那如果现在要求你去创建100个人和1000个人应该怎么做?
----相信看到这里的童鞋心里都有了一个答案,没错就是去**封装好一个函数**来创建对象
在这里插入图片描述

1.5 函数封装

/*
                酸奶厂
                1、原料
                2、加工
                3、出厂
                工厂函数:满足<1>原料 <2>加工 <3>出厂操作创建对象的函数叫做工厂函数。
            */

            //创建人
            function createPerson(name, gender){//两个参数一个个是叫什么的人一个是什么性别的人
                //1、原料
                var obj = new Object();  //创建新的对象叫做object

                //2、加工
                //给对象添加属性
                obj.name = name;
                obj.gender = gender;

                //添加方法
                obj.showName = function(){
                    alert("我的名字叫" + this.name);
                }
                obj.showGender = function(){
                    alert("我的性别是" + this.gender + "的");
                }

                //3、出厂
                return obj;
            }

          //现在我们想创建一个叫做blue的男人可以直接调用createPerson这个方法
            var p1 = createPerson("blue", "男");  
	             p1.showName();
	             p1.showGender();
 

            var p2 = createPerson("red", "女");
             	p2.showName();
             	p2.showGender();

:以上就是js面向对象编程的重点,希望对正在学习的童鞋有所帮助,如果有不对的地方还望大家指出。
在这里插入图片描述

  • 28
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

抱着猫睡觉的鱼_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值