面向对象之基础

面向对象:即表示客观世界问题空间(Namespace)中的某个具体事物,也表示软件系统解空间中的基本元素。它包括属性(properties)和方法(methods),属性就是需要记忆的信息,方法就是对象能够提供的服务。在面向对象(object oriented)的软件中,对象(object)是某一个类(class)的实例(instance)。

function People(name){
    this.name = name;

    this.printName = function(){
        console.log(name);
    };
}

这是一个函数,也是对象,我们称之为类(class)。

var p1 = new People('Byron');

p1是people类(class)new出来的对象,我们称之为实例。

面向对象编程的特点:抽象、封装,继承。

抽象:抓住核心问题;

封装:不考虑内部实现,只考虑功能使用;

继承:从已有对象上,继承出新的对象。继承分为多重继承、多态。


构造器:每个构造器实际上就是一个函数(function)对象,该函数对象含有一个‘prototype’属性用于实现基于原型的继承(prototype-based inheritance)和共享属性(shared propertues)。对象可以由(‘new 关键字’+构造器调用)的方式创建。

原型(prototype):在ECMAscript中,每个由构造器创建的对象拥有一个指向构造器prototype属性值的隐世引用(implicit reference)。

原型链(prototype chain):每个原型可以拥有指向自己原型的隐式引用(即该原型的原型),如此下去(new Object(null)是没有原型链的)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值