浅淡JavaScript OOP/OOD

趁着午睡时间,回顾一下前阵子,自己学习了JavaScript编程进行总结 .现在编程语言大致都采用面向对象思想来进行代码编程和设计。如大家所知C++,Java,Objective-C(对C语言进行封装),C#等等;

先了解一下,面向对象 

面向对象的思想有几方面:面向对象的分析(OOA),面向对象的设计(OOD),面向对象的编程(OOP);特征:继承,封装,多态。

 第一,面向对象的对象模型

 对象模型表示了静态的、结构化的系统数据性质,描述了系统的静态结构,它是从客观世界实体的对象关系角度来描述,表现了对象的相互关系。该模型主要关心系统中对象的结构、属性和操作,它是分析阶段三个模型的核心,其他是框架。

1.对象和类
  (1) 对象。 对象建模的目的就是描述对象。 
  (2) 类。 通过将对象抽象成类,我们可以使问题抽象化,抽象增强了模型的归纳能力。 
  (3) 属性。 属性指的是类中对象所具有的性质(数据值)。
  (4) 操作和方法。 操作是类中对象所使用的一种功能或变换。类中的各对象可以共享操作,每个操作都有一个目标对象作为其隐含参数。 方法是类的操作的实现步骤。

 举一个JAVA例子:

 

/**
*
* 文件名:Person.java
* 创建作者: 李航杰
* 创建日期:2012-2-22 上午下午01:04:36
*/

public class Person {

/**
* 对象属性的封装
*/
private String ID=null;
private String name=null;
private String gender=null;
private Integer age=null;

/**
* 对外界提供可见或不可见接口
* 对象行为的封装
*/
public void run(){}
public void speek(){}

/**
* 省略属性Setter 和Getter
*/


}



 

 JAVASCRIPT 对象化编程

 简单地去理解就是把javascript能涉及到的范围分成各种对象,对象下面再次划分对象。编程出发点多是对象,或者说基于对象。所说的对象既包含变量,网页,窗口等等

对象的含义
对象可以是文字,表单等等。对象包含一下
属性-------对象的某些特定的性质
方法-------对象能做的事情
事件-------能响应发生在对象上的事情
注意:对象只是一种特殊的封装数据

 

 1 /**
2 Files Name: Person.js
3 @author : LeeHonGee
4 Create DateTime: 2012-2-22 下午01:33:36
5 */
6 function Person(){
7 /**
8 * 对象属性的封装
9 */
10 this.ID=null;
11 this.name=null;
12 this.age=null;
13 this.gender=null;
14
15 /**
16 * 对象行为方法的封装
17 */
18 this.run=function(){
19
20 }
21 this.speek=function(){
22
23 }
24
25 }

或者可以JS使用prototype 原型方法

prototype 属性 :返回对象类型原型的引用。
 ObjectName.prototype 
 ObjectName 参数是对象的名称。

用 prototype 属性提供对象的类的一组基本功能。对象的新实例“继承”赋予该对象原型的操作。 

/**
Files Name: Person.js
@author : LeeHonGee
Create DateTime: 2012-2-22 下午01:33:36
*/
function Person(){}
/**
* 对象属性的封装
*/
Person.prototype.ID=null;
Person.prototype.name=null;
Person.prototype.age=null;
Person.prototype.gender=null;
/**
* 对象行为方法的封装
*/
Person.prototype.run=function(){ }

Person.prototype.speek=function(){ }


 

这样基本掌握JS 对象化编程了,只要深刻掌握对面向对象思想,学习那种编程语言都是很快的,语法是编译器的规则,呵呵,午睡一会,下午还要上班呢......

 

今天只是大概讲述一下面向对象的概念特征及JS对象化例子,程序员书写表达不是很好, 改天思绪理清,继续完善... 

作者:LeeHonGee   创建时间:2012-02-22 13:48 

你可能感兴趣的:(javascript,java,移动开发)