面向对象编程

面向对象编程

面向对象编程

面向对象  json object-oriented

是一种思想,是一种思维方式,只关注结果

面向过程   怎么实现一件事情,函数,自顶向下

面向数据

面向切片

面向对象的好处:  提高效率,适合团队开发

面向对象的思想

封装

封装共性,内部细节不考虑,只管使用

继承

子类继承父类的特点+

多态

个性,同一个接口,可传不同的参数,返回不一样的东西

对象,就是一堆属性和方法的集合。

现实中的事物抽象化就是 => 对象

构造函数才有 原型 prototype

对象才有 proto

原型链:访问对象的属性或方法,自己没有的话,逐层往上一层去找。直到最顶层 Object

对象的顶层就是 Object,最顶层是 null


—原型:继承的本质—

**    ***** Student.prototype = Persons.prototype;**

* 这种整体改原型得方法,不靠谱,因为子类可以修改父类得方法。

給原型传值:

**  **  Student.prototype.showName=Persons.prototype.showName;(深拷贝)

=====最终实现=======

1
2
3
4
function 子类构造函数(name, age) {
父类.apply(this, arguments);
}
子类.prototype = new 父类();

=========

原型的用处

1  继承

2 扩展对象的方法,(扩展处理兼容性问题)

======

typeof

number NaN

string

boolean

undefined

Object null

function

简单值

number

string

boolean

特殊值

NaN

undefined

null

复杂数据类型

object

function

如:– Array Date Json Reg

对象的检测方式

instanceof 检测有没有血缘关系

obj instanceof Object

constructor 检测是由谁构造来的,就是检测父级

arr.constructor==Object

对象是由对象创建的

对象是基于原型的,不是基于类(function)的

**   ****Object 与 Function 是通过 new 和原型关联起来的**


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!