JavaScript面向对象编程常见术语(一)

  • 对象,方法,属性;
  • 类;
  • 封装;
  • 聚合;
  • 重用,继承;
  • 多态;

A.对象
对象实质上是指事物在程序设计语言上表现的形式。假如我们人自己这个对象,本身会具有某些明确的特征(身高,体重····)。而且能执行一些动作(走路,游泳··)。在oop中把这些对象的特征称为属性,所具有的动作被称为方法。

//创建了一个person对象,name,age,为person对象的属性,sayName为person对象的方法。
var person = {
    name:'jack',
    age:'18',
    sayName:function(){
        alert(this.name);
    }
}

B.类
相似对象之间往往都有一些共同的组成特征,例如直升机,和战斗机同样具有飞机的特征,因此可以被统称为鸟类,在oop中类实际上就是对象的设计蓝图和制作配方,对象也可以被称为实例,是由类实例化。直升机是飞机的一个实例。这样可以理解为,同一个类创造出许多不同的对象。要记住的是JavaScript中并没有类。该语言的一切都是基于对象的。依靠一套原型系统,原型本身也是一种对象。

//构造函数Person实例化了一个新对象为person1对象。
function Person(name,age){
    this.name = name;
    this.age = age;
    this.name = sayName;
}
function sayName(){
    alert(this.name);
}

//在JavaScript中我们这样描述下面这句话,将现有的Person对象扩展成了一个叫做person1的新对象。
var person1 = new Person('jack',28);

C.封装
封装主要阐述对象中所包含的内容,由两部分组成,a.相关的数据(存储属性),b.基于这些数据所能做的事情(就是我们所说的调用方法)。假设电视机是一个对象,作为该对象的用户,频道等按钮就是工作接口了,我们需要用这个接口才能操作它,至于内部是如何工作的我们不必去关心。至于对象的这个接口实现对于我们来说是隐藏的,我们只关注封装之后接口。

D.聚合
聚合,就是将几个现有对象合并成一个新对象的过程。聚合所强调的就是这种将多个对象合而为一的能力,可以将一个非常复杂的问题拆分成多个容易解决的小问题,这样复杂性减弱。如电脑是启动时发生的全部事情,但可以将这个问题抽象级别降低到一定的程度,只关注几个组件对象初始化的工作,如显示器对象,鼠标对象,这些子对象(聚合而成)就可以深入的了解。然后将这些结果合起来,复杂问题就可以解决了。

E.继承
继承可以实现代码的重用,如Person对象中已经定义了一些方法,此时新建对象Job又需要Person中的一些方法,就可以继承Perosn中的方法。传统编程语言oop中的继承是指类与类之间的关系,但JavaScript中不存在类,因此继承智能发生在对象之间。当一个对象继承自另一个对象时,通常会往其中加入新的方法,以扩展被继承的老对象,这一过程被称为B继承自A或者B扩展自A。对于新对象来说也可以根据自己的需要,从继承的那组方法中选择几个重新来定义,这样并不会改变对象的接口,因为其方法名是相同的,只不过我们调用新对象时,该方法行为与名是不同了,将这种定义继承方法的过程叫做覆写。

F.多态
假如有三个对象Bob,Jill,Jack都有各自的talk方法,可以随时调用这个talk方法它们都可以正常工作,尽管这些方法会产生不同的结果 。总之每个对象都可以重新自定义它们的继承方法talk

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值