广泛解释js中的类 与 对象

来源:互联网 发布:王候将相宁有种乎翻译 编辑:程序博客网 时间:2024/05/16 05:19

广泛解释 js中的类 与 对象。

   很对学习前端的同学们在学到javascript的时候。会接触到类与对象的概念。 如果没有学习过c++,java之类的面向对象类型的编程语言。对于面向对象编程的概念就很模糊了。我在尝试用一种通俗的语言,在不涉及java,c++语言的前提下。从程序的角度去解释类与对象;

———-所写的一切服务于面向对象编程---(Object Oriented Programming)


程序中为什么会出现 类与对象?

 一切根源我觉得都是人为了自己可以更方便的特性使然。程序员们为了使自己写的程序写的更方便简洁,代码更少,也方便后期的修改。
  
  所以就出现了类与对象的概念。那么程序是干什么的?因为我们得清楚程序是干嘛的才能去想办法令他变得更加简单,易懂;程序员写的程序就是为了服务使用者,在写程序的时候通过把服务者与被服务者模拟出来;然后在网络中通过数据传输(或者通过本地直接操作)实现服务; 

   但是服务者与被服务者,往往会很多;比如QQ的用户肯定不是一个人,为了方便管理与确定是哪一个使用者在使用;同时为了同样的代码可以模拟出所有服务与被服务者的操作。这个概念被引入;
下面去解释类 对象;

  对象是对客观事物的抽象,类是对对象的抽象。类是一种抽象的数据类型。它们的关系是,对象是类的实例,类是对象的模板。对象是通过new className产生的,用来调用类的方法;类的构造方法 这是百度百科的解释。我觉得解释的不错但必须是有一定理解的人才能看懂。
 
   假如一个程序员就是上帝,当你在造物的时候,假设去创造很多只狗,如果把所有狗的特点集合到一个模板里,当你需要造一只狗时上帝把这个模板拿出来,直接填写相应的状态就可以成功造出一条狗了。

  编程中对象也有状态和行为。编程中对象的状态就是属性,行为通过方法体现。那么 类就是那个狗的模板, 当使用模板造出了一只狗这个狗就是对象。

*************现在我们去模拟一个顾客在酒店点餐的场景,首先顾客很多不是一个,你需要从过程中提出每一个顾客在酒店中的所有的共同状态。 比如性别,座位号,以及他拥有的行为, 叫服务员,点菜,等等。。
然后在程序中我去用js写下这个 ( 模板 )(类);
 

/*  下面是用 工厂模式*/function Customer(sex,num){  var c= new Object();  c.sex = sex;  c.num = num;  c.diancai= function() {    console.log('开始点菜了')  }  c.call = function(){     console.log("呼唤服务员姐姐")  }  return c;}var Customer1 = Customer('男',40);console.log(Customer1.sex);  //打印出第一个顾客的性别,Customer1.call(); // 打印 “呼唤服务员姐姐” 

以上程序 Customer1就是一个实例化,一个 顾客模板的实例化; 当然这只是其中的一种 ,js中类模板有几种写法,读者可以自行了解;
 
好像还有一个没有说。就是那个  .  操作符; 这个操作符可以理解为  调用  ,比如:

Customer1.sex; //   调出客户的性别 ,( 实际上这是个得到变量操作符,) 

言尽于此;

原创粉丝点击