什么是面向对象:
  使用对象时,只关注对象提供的功能,不关注其内部的细节 例如:jquery
什么是对象:
  对象是一个整体对外提供一些操作,比如 收音机
面向对象编程OOP的特点:
  1、抽象:把主要的特征、跟问题相关的特征抽出来
  2、封装:看不到里面的东西,把表面的功能用好
  3、继承:遗传,从父类上继承出一些方法,子类又有一些自己的特性(最大限度重用已有的代码)
继承又分:
  多重继承
  多态继承
对象的组成:
  1、方法——相当于函数:过程、动态 例如:
  

function aaa(){		  //函数 自由
  alert("123")
} arr = [1,2,3];
arr.aaa=function(){ //属于一个对象
  alert("321")
}
aaa()
arr.aaa()

  2、属性——相当于变数:状态、静态 例如:

var a=12	  //变量 - 自由自在的不属于任何人
alert(a) var arr=[1,2,3,4,5,6]
arr.a=21 //属性 - 属于一个对象的
alert(arr.a)

  

this的理解
  当前发生事件的对象
  当前的方法属于谁
 
  练习题:写一个面向对象的小例子
var obj = new Object();

obj.name='林肯';
obj.qq='2669667558'; obj.Myname=function(){
alert("我的名字是"+this.name);
}
obj.Myqq=function(){
alert("我的QQ是"+this.qq);
}
obj.Myname();
obj.Myqq();
  总结:创建一个对象,写出程序的方法,在调用。 但是这种方法复用性不高。 优化以后如下:
 
//工厂模式
function oriented(name,qq){ //整体称之为什么:构造函数
//原材料
var obj = new Object(); //加工
obj.name=name;
obj.qq=qq; obj.Myname=function(){
alert("我的名字是"+this.name);
}
obj.Myqq=function(){
alert("我的QQ是"+this.qq);
} //出厂
return obj
}
var obj=oriented('林肯','2669667558');
obj.Myname();
obj.Myqq(); var obj2=oriented('赵三','2669667558');
obj2.Myname();
obj2.Myqq();
这样写:可以让方法复用

  

原型——prototpye
什么是原型
  可以把原型理解为class,修改他可以影响一类元素
  //解决函数重复 <==>原型
  //原型名词解释
  // CSS JS
  // class 一次给一组元素加样式 原型
  // 行间样式 一次给一个元素加样式 对对象加事件
 
  /*例子:原型 数组求和 <==> 类和对象的使用 类可以new */
  

var arr1 = new Array(12, 13, 11, 14, 53, 67, 86, 85, 23);
var arr2 = new Array(11, 22, 33, 44, 55, 66, 77, 88);
Array.prototype.sum = function () {
var result = 0;
for (var i = 0; i < this.length; i++) {
result += this[i];
}
return result;
};
//alert(arr1.sum());
 
在已有的对象中添加属性,方法
 

什么是面向对象以及其意义,prototpye原型的更多相关文章

  1. Javascript面向对象——创建对象、构造函数的原型

    Javascript面向对象--创建对象.构造函数的原型 其实:JavaScript中的创建类,就是创建一个构造函数,在创建对象时用到new这个关键字, 一.创建对象 1.函数创建对象 functio ...

  2. JavaScript面向对象编程(一)原型与继承

    原型(prototype) JavaScript是通过原型(prototype)进行对象之间的继承.当一个对象A继承自另外一个对象B后,A就拥有了B中定义的属性,而B就成为了A的原型.JavaScri ...

  3. JavaScript中的面向对象编程,详解原型对象及prototype,constructor,proto,内含面向对象编程详细案例(烟花案例)

    面向对象编程:   面向:以什么为主,基于什么模式 对象:由键值对组成,可以用来描述事物,存储数据的一种数据格式 编程:使用代码解决需求   面向过程编程:         按照我们分析好的步骤,按步 ...

  4. C#面向对象设计模式纵横谈——6.Prototype 原型模式(创建型模式)

    动机(Motivation) 在软件系统中,经常面临着“某些结构复杂的对象”的创建工作.由于需求的变化,这些对象经常面临着剧烈的变化,但他们却拥有比较稳定一致的接口. 如何应对这种变化?如何向“客户程 ...

  5. 面向对象设计模式纵横谈:Prototype 原型模式(笔记记录)

       有一段时间没写东西了,今天继续把没写完的设计模式写完,今天这堂课是创建型设计模式的最后一堂课,原型设计模式,它同样也是解决了对象在创建的过程中的解耦合的情况,面对变化使代码更稳定,更准确的说是使 ...

  6. javascript 面向对象学习(二)——原型与继承

    什么是原型? 首先我们创建一个简单的空对象,再把它打印出来 var example = {} console.log(example) 结果如下: { __proto__: { constructor ...

  7. 面向对象继承 (for in 原型链查找属性)

    window.onload=function(){ new Preson('liujian','男').show(); new Work('liujian','男','工人').show(); new ...

  8. JavaScript 类式继承与原型继承

    交叉着写Java和Javascript都有2年多了,今天来总结下自己所了解的Javascript类与继承. Javascript本身没有类似Java的面向对象的类与继承术语,但其基于原型对象的思想却可 ...

  9. OO开发思想:面向对象的开发方法(Object oriented,OO)

    面向对象的开发方法(Object oriented,OO)认为是好文章吧,拿来分享一下(转载) 面向对象的开发方法(Object oriented,OO) 从事软件开发的工程 师们常常有这样 的体会: ...

随机推荐

  1. BZOJ 1016 最小生成树计数(矩阵树定理)

    我们把边从小到大排序,然后依次插入一种权值的边,然后把每一个联通块合并. 然后当一次插入的边不止一条时做矩阵树定理就行了.算出有多少种生成树就行了. 剩下的交给乘法原理. 实现一不小心就会让程序变得很 ...

  2. CF1042F Leaf Sets (贪心+树上构造)

    题目大意:给你一棵树,让你对叶节点分组,保证每组中,任意两个叶节点之间的距离不大于K,求最小的组数 手动yy的贪心竟然对的 对于每个节点,维护一个$ma[i]$,表示在$i$节点的子树内 未被分组的叶 ...

  3. 马上着手开发 iOS 应用程序

    https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOSCh/chapters/Introd ...

  4. FastDFS 实现图片上传_01

    一.jar 包 jar包下载:https://pan.baidu.com/s/1nwkAHU5 密码:tlv6 或者 下载工程,安装到 maven 本地仓库 工程下载:https://pan.baid ...

  5. synchronized的实现原理及锁优化

    记得刚刚开始学习Java的时候,一遇到多线程情况就是synchronized.对于当时的我们来说,synchronized是如此的神奇且强大.我们赋予它一个名字“同步”,也成为我们解决多线程情况的良药 ...

  6. ZOJ 3288 Domination

    D - Domination Time Limit:8000MS     Memory Limit:131072KB     64bit IO Format:%lld & %llu Descr ...

  7. C#-常用对象-思维导图

    C#-常用对象-思维导图 链接:http://pan.baidu.com/s/1jHNgS78 密码:3i74 如有错误,请告知我!

  8. HDU 2421

    由算术基本定理N=p1^e1*p2^e2....ps^es,可知一个素的因子个数为(e1+1)*(e2+1)*...*(es+1). 而N的一人因子必定也有n=p1^k1*p2^k2....*ps^k ...

  9. window8.1 CenterOS 双系统

    window8.1 CenterOS 双系统 学习了: http://blog.csdn.net/ac_hell/article/details/53436890 https://jingyan.ba ...

  10. 拿到offer过后--大学最后时光最想做的那十件事

    昨天--2014.10.26,历史性的一刻,激动的签了欢聚时代(YY)的前端开发offer,工作地点是我喜欢的珠海(仅仅由于那边有我所向往的海还有自行车队,如今想想都乐开怀了,绕着海边骑单车的感觉真妙 ...