面向对象程序设计(Object-oriented programming,OOP)
什么是面向对象编程?(OOP)
面向对象编程程序设计(Object-oriented programming,OOP) 是种具有对象概念的程序设计范型,同时也是一种程序开发的抽象方针。它可能包含数据、属性、代码与方法。对象则指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。————维基百科
面向对象都有哪些特性?
封装性(Encapsulation)
继承性(Inheritance)
多态性(Polymorphism)
抽象性(Abstraction)
原型(Prototype)和原型链(Prototype chain)
什么是原型以及什么是原型链
原型:
prototype
属性:每一个函数都有一个prototype
属性,这个属性是指向一个对象的引用,这个对象称作“原型对象”(prototype object)每一个函数都包含不同的原型对象。将函数用作构造函数的时候,新创建的对象会从原型对象上继承属性和方法。
原型链(prototype chain):
JavaScript中实现对象的继承
大部分面向对象的编程语言,都是通过“类”(class)实现对象的继承。传统上,JavaScript语言的继承不通过class,而是通过“原型对象”(prototype)实现
面向对象程序(OOP)设计的目的是什么?
在编程中促进更好的灵活性和可维护性,在大型软件工程中广为流行。凭借其对模块化的重视,面向对象的代码开发更简单,更容易理解,相比非模块化编程方法,它能更直接地分析, 编码和理解复杂的情况和过程。
JavaScript 继承机制的设计思想就是,原型对象的所有属性和方法,都能被实例对象共享
原型链(Prototype chain)继承
借用构造函数继承
组合继承
原型式继承
寄生式继承
寄生组合式继承
混入方式继承多个对象
Object.create
实现类式继承
1 | // Shape - superclass |
ES6 Class
类继承extends
参考链接
MDM-继承与原型链
JavaScript常用八种继承方案
JavaScript实现继承的多种方式(ES5)
JavaScript面向对象
阮一峰-Javascript继承机制的设计思想
阮一峰-javascript继承思想
阮一峰-javascript教程-对象与继承
阮一峰-javascript教程-对象的继承
阮一峰-面向对象编程的模式
阮一峰-Javascript 面向对象编程(一):封装
阮一峰-Javascript面向对象编程(二):构造函数的继承
阮一峰-Javascript面向对象编程(三):非构造函数的继承
阮一峰-面向对象编程)