面向对象的特性

匿名 (未验证) 提交于 2019-12-03 00:22:01


JavaScript面向对象的特性

1. 封装性

对象是将数据与功能组合到一起, 即封装

  1. js 对象就是 键值对的集合
    • 键值如果是数据( 基本数据, 复合数据, 空数据 ), 就称为属性
    • 如果键值是函数, 那么就称为方法
  2. 对象就是将属性与方法封装起来
  3. 方法是将过程封装起来

2. 继承性

所谓继承就是自己没有, 别人有,拿过来为自己所用, 并成为自己的东西

2.1. 传统继承基于模板

子类可以使用从父类继承的属性和方法。

class Person {  string name;  int age; }  class Student : Person { } var stu = new Student(); stu.name 

即:让某个类型的对象获得另一个类型的对象的属性的方法

2.2. js 继承基于对象

在JavaScript中,继承就是当前对象可以使用其他对象的方法和属性。

js继承实现举例:混入(mix)

function mix ( o1, o2 ) {     for ( var k in o2 ) {         o1[ k ] = o2[ k ];     } } 

3. 多态性(基于强类型)只做了解

把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。

动物 animal = new 子类(); // 子类:麻雀、狗、猫、猪、狐狸... 动物 animal = new 狗(); animal.叫();
文章来源: 面向对象的特性
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!