面向对象的编程思想

面向对象的编程思想

引言

​    在之前的JavaScript学习中,笔者常常为了实现一个功能而去编写并调用函数,这种按照过程需要来完成程序的定义和执行的思路,称为面向过程的编程思想。使用这样的编程思路编写相同需求的模块,虽然可以将程序封装为函数以减少代码,但是不同模块的子级标签都需要分别获取以传参,所以还是有许多不便之处。跟随逆战班学习,我了解了另一种编程思路——先封装好面向对象的程序,在需要时直接调用执行即可,这样的思路被称为面向对象的编程思想

为什么要面向对象

函数的缺点

​​    除笔者引言中所述的亲身体会外,直接调用函数编程还存在一些局限性:
​    1.函数内部定义的局部作用域变量在函数外部无法直接调用
​    2.函数调用占用大量系统内存,易造成数据溢出泄漏,易遭到攻击。
​    3.函数仅封装了一些模块化的功能。
为了解决这些局限性,JavaScript开启了一种新的面向对象编程思路。

对象的优点

​​    作为复杂数据类型的一种,对象相较于字符串和数组有着一系列优点:
​    1.对象中可以定义并存储多个数据单元以及所有JS支持的数据类型
​    2.在对象中使用属性名即可调用具体数据,不必考虑数据的顺序。
​    3.可以在对象中定义函数,并通过函数的this很方便地调用本身数据。
基于以上3个优点,面向对象成为了我们编写JavaScript程序的一个绝佳选择。

怎样面向对象

面向对象的基本思路

​    与面向过程不同,我们在以面向对象的思想进行编程时,往往会给这个对象添加上属性和属性值以及函数等方法,再通过操作这个对象来完成需要的效果。具体实现步骤我们可以这样写:

//先通过函数方法来创建对象
function createObj(){
  create obj = {};
  obj.name = '张三';
  obj.age = 18;
  obj.addr = '北京';
  obj.sex = '男';

  //给对象添加方法
  obj.funNameAge = function(){
    console.log(this.name , this.age);
  }
  obj.funNameAddr = function(){
    console.log(this.name , this.addr);
  }
  obj.funSexAge = function(){
    console.log(this.name , this.age);
  }
  obj.funAll = function( ){
    console.log(this.name , this.sex , this.age , this.addr);
  }
  //返回这个创建好的对象
  return obj;
}

//调用函数,函数创建对象并作为返回值,变量中存储的就是函数创建的对象
const obj = createObj();
//可以通过调用obj中存储的对方的方法来实现功能
obj.funAll();

总结

​​    面向对象编程将所有程序都定义封装在对象内,尽量减少了特殊程序的执行,具有高内聚低耦合等优点。使用面向对象将会大大提高我们编程的效率和代码的可读性,因此,笔者在此处强烈推荐这一编程思想。
​    希望这篇博客对你有帮助,也欢迎读者友善地指出错误并提出建议。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值