什么是js面向对象,特点,怎么写构造函数
2017-06-27 20:32
267 查看
什么是JS面向对象
首先,什么是对象,简单的来理解,对象是指一个整体,对外提供一些操作,比如空调,电视机等等;面向对象的意思就是,使用对象的时候,你可以直接使用它所提供的功能而忽略其内部组成情况。好比如你不知道电视机是怎么运作的,也不知道它是由什么零件组成的,但你知道拿到遥控就可以操作电视机,这就是一种面向对象的思想。js中面向对象的特点:
抽象、封装、继承、多态。
抽象:表示对问题领域进行分析、设计中得出的抽象的概念,抓住核心问题。
封装:封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中(我们称之为类)。被封装的对象通常被称为抽象数据类型。
继承:继承主要实现重用代码,节省开发时间。包括对象方法和属性的继承。
多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。
怎样写构造函数
1.什么是构造函数构造函数就是构造对象的函数。使自己的对象多次复制,当对象被实例化后,构造函数会立即执行它所包含的任何代码。
2.工厂模式
该模式抽象了创建对象的具体过程,用函数来以特定接口创建对象的细节
例如:
<script> function createPerson(name, qq) { //原料 var obj=new Object(); //加工 obj.name=name; obj.qq=qq; obj.showName=function () { alert('我的名字叫:'+this.name); }; obj.showQQ=function () { alert('我的QQ号:'+this.qq); }; //出厂 return obj; } var obj=createPerson('blue', '258248832'); obj.showName(); obj.showQQ(); var obj2=createPerson('张三', '45648979879'); obj2.showName(); obj2.showQQ(); </script>
工厂方式的问题:使用工厂模式能够创建一个包含所有信息的对象,可以无数次的调用的这个函数。虽然其解决了创建多个相似对象的问题,但却没有解决对象识别的问题(即如何得知一个对象的类型)
3.构造函数模式
function Person(name,sex,age) {//注意这里 构造函数首字母大写 this.name = name; this.sex = sex; this.age = age; this.info = function () { console.log(this.name, this.age, this.sex); } } var p1 = new Person('帅哥','男','20'); p1.info(); var p2 = new Person('美女','女','18'); p2.info();
注意构造函数与工厂模式有些不同的地方,如下:
构造函数首字母大写,没有显式地创建对象,将属性和方法赋值给了 this 对象,没有return语句
而且以这种方式来调用构造函数会大致经历以下几个步骤:
1)创建一个新的对象
2)将构造函数的作用域赋值给这个对象(因此this就指向了这个对象)
3)执行构造函数中的代码(即给新对象添加属性和方法的过程)
4)返回对象
相关文章推荐
- 什么是js的面向对象,以及它的特点和怎样写构造函数
- 什么是js面向对象?有什么特点?
- [置顶] 什么是js面向对象?有什么特点?
- 怎么评价Facebook的Relay框架?Meteor.js 是什么?
- JS面向对象的几种创建方式:工厂模式、构造函数模式、原型模式、混合模式、动态原型模式
- 什么是对象,为什么要面向对象,怎么才能面向对象?
- 什么是对象,为什么要面向对象,怎么才能面向对象?
- JS 面向对象之继承 -- 借用构造函数
- JS中面向对象的,对象理解、构造函数、原型、原型链
- JS面向对象-原型对象,实例对象,构造函数的关系
- php 构造函数格式,具体该怎么写?应该注意什么呢?
- 拿什么守护你的Node.JS进程: Node出错崩溃了怎么办? foreverjs, 文摘随笔
- 什么是对象,为什么要面向对象,怎么才能面向对象?
- js--面向对象--构造函数的继承
- js--面向对象--非构造函数的继承
- 基础篇:8.如何定义变量?js变量有什么特点?
- 黑马程序员_Java基础_面向对象(继承、子父类变量和函数以及构造函数特点、final关键字、抽象类、模版方法模式、接口)
- Js面向对象漫谈(2) 继承--原型链,借用构造函数,组合式,寄生式, 寄生组合式
- 面向对象JS基础讲解,工厂模式、构造函数模式、原型模式、混合模式、动态原型模式
- js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)