JavaScript学习笔记(二十二)——面向对象编程(OOP)

注意: 面向对象不是一种语法,而是一种思想,是一种编程模式

面向对象编程(OOP)是计算机科学中一个年代久远的编程范式。现在所知的一些OOP概念最开始出现于上个世纪50年代,可是直到1967年Simula及后来Smalltalk语言的出现,可辨识的OOP才应运而生。

概念

OOP的基础理念非常简单直观:对象 是一个逻辑相关的数据和功能的集合。它以人类对世界的自认理解为设计理念。好比一辆车,它有数据(品牌、型号、门数、VIN等等)和功能(加速、减速、刹车、移动、开门等等)。此外OOP使得编程人员能够以抽象(一辆车)和具体(某辆具体的车)的思维去思考事物。

OOP相关的基本词汇

  • 指的是通用的东西(车)。
  • 实例(或者对象实例) 指的是具体的东西(一辆具体的车)。
  • 方法 指的是一个功能(加速、减速、刹车)。
  • 跟类相关,但是不涉及特定实例的功能叫做类方法(比如:create new VIN,可能就是一个类方法:它不特指某辆具体的车,的确,我们并不希望某辆具体的车能够创建新的、合法的VIN)。

简单了解面向对象三大特征

  • 封装
  • 继承
  • 多态
    在这里插入图片描述

封装: 也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。

继承: 它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。
注意:继承会继承父类的实例属性和实例方法,并不会继承静态属性和静态方法,并且静态方法只能通过类名去调用。

多态: 多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。

三大特征优点

封装: 封装的优势在于定义只可以在类内部进行对属性的操作,外部无法对这些属性指手画脚,要想修改,也只能通过你定义的封装方法;

继承: 继承减少了代码的冗余,省略了很多重复代码,开发者可以从父类底层定义所有子类必须有的属性和方法,以达到耦合的目的;

多态: 多态实现了方法的个性化,不同的子类根据具体状况可以实现不同的方法,光有父类定义的方法不够灵活,遇见特殊状况就捉襟见肘了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值