javascript面向对象

面向过程:

        面向过程就是将一件“大事”,按一些更小的步骤(小事)顺序去一个一个完成。这几乎符合人类的基本行为习惯。

面向对象:

        面向对象就是将要完成的一件“大事”,分割出其中的一个一个“独立对象”,每个对象都有其自身的“特征信息”,和“行为动作功能”。被其他的对象根据需要进行调用,返回数据.每个对象之间都各行其是,互相之间按照要求做事,返回结果。

        两者有啥区别呢?比如,有一天你想吃鱼香肉丝了,怎么办呢?你有两个选择:
        1、自己买材料,肉,鱼香肉丝调料,蒜苔,胡萝卜等等然后切菜切肉,开炒,盛到盘子里。
        2、去饭店,张开嘴:老板!来一份鱼香肉丝!
        看出来区别了吗?1是面向过程,2是面向对象。

        面向对象有什么优势呢?首先你不需要知道鱼香肉丝是怎么做的,降低了耦合性。如果你突然不想吃鱼香肉丝了,想吃红烧大肘子,对于你可能不太容易了,还需要重新买菜,买调料什么的。对于2,太容易了,大喊:老板!那个鱼香肉丝换成肘子吧,提高了可维护性。总的来说就是降低耦合,提高维护性!

        面向过程是具体化的,流程化的,解决一个问题,你需要一步一步的分析,一步一步的实现。面向对象是模型化的,你只需抽象出一个类,这是一个封闭的盒子,在这里你拥有数据也拥有解决问题的方法。需要什么功能直接使用就可以了,不必去一步一步的实现,至于这个功能是如何实现的,管我们什么事?我们会用就可以了。

        对象由属性和方法构成。属性就是我们所理解的变量,方法就是函数。例如,我们描述一只猫:

var cat{
    name:'周星星',
    age:18,
    say:function(){
        console.log('I am'+obj.name+'年芳'+this.age)
    }

}

面向对象的特点(记住)

1、封装
隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用性和安全性。
2、继承
提高代码复用性;继承是多态的前提。
3、多态
父类或接口定义的引用变量可以指向子类或具体实现类的实例对象。提高了程序的拓展性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值