JavaScript 面向对象教程

🌙
手机阅读
本文目录结构

面向对象程序设计

JavaScript 面向对象是非常重要的概念,我们可以先看下维基百科上对面向对象的概述

https://zh.wikipedia.org/wiki/

维基百科上摘抄的几个重点

面向对象全称是面向对象程序设计(英语:Object-oriented programming,缩写:OOP

是种具有对象概念的编程规范,它可能包含数据、属性、代码与方法。对象则指的是类的实例。

类与对象

支持面向对象编程语言通常利用继承其他类达到代码重用和可扩展性的特性。而类有两个主要的概念:

  • 类(Class)
    • 定义了一件事物的抽象特点。类的定义包含了数据的形式以及对数据的操作。
  • 对象(也叫实例)
    • 是类的实例。

举例来说,“狗”这个类会包含狗的一切基础特征,即所有“狗”都共有的特征或行为,例如它的孕育、毛皮颜色和吠叫的能力。

我们无法让狗这个类去吠叫,我们只能让某个具体的狗去叫(如果不叫,我们去打它,它就会叫啦),正如狗可以叫,但没有具体的狗就无法吠叫。

类可以为程序提供模版和结构。一个类的方法和属性被称为“成员”。

封装性

可以简单的认为把相同的事情,封装成模块,后面会具体说,先知道概念即可。

继承

子类会继承父类的现象就叫继承,比如儿子继承父亲的财产。后面会具体说,先知道概念即可。

多态

对同一件事的不同的反应,后面会具体说,先知道概念即可。

抽象性

后面会具体说,先知道有这门一回事就可以了。

有哪些创建方式?

这里就属于作为一名上帝,我们有哪些方式创建对象。下面是我总结的一些方法。

  • 单例模式
  • 工厂模式
  • 构造函数模式
  • 原型模式
  • 组合模式

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了