什么是面向对象:
  使用对象时,只关注对象提供的功能,不关注其内部的细节 例如: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. Vue系列(二):发送Ajax、JSONP请求、Vue生命周期及实例属性和方法、自定义指令与过渡

    上一篇:Vue系列(一):简介.起步.常用指令.事件和属性.模板.过滤器 一. 发送AJAX请求 1. 简介 vue本身不支持发送AJAX请求,需要使用vue-resource.axios等插件实现 ...

  2. ArcGIS探索

    一.ArcGIS10概述 1.1 总览 ArcGIS是地理信息系统平台软件,主要用于创建和使用地图,编辑和管理地理数据,分析和共享地理信息,并在一系列应用中使用地图和地理信息. 功能定位: a.地图: ...

  3. [terry笔记]Oracle SQL 优化之sql tuning advisor (STA)

    前言:经常可以碰到优化sql的需求,开发人员直接扔过来一个SQL让DBA优化,然后怎么办? 当然,经验丰富的DBA可以从各种方向下手,有时通过建立正确索引即可获得很好的优化效果,但是那些复杂SQL错综 ...

  4. 【Linux】进程调度概述

    1 可运行队列 (基于实时进程调度) 调度程序中最主要的数据结构式运行队列(runqueue).可运行队列是给定处理器上的可运行进程的链表,每一个处理器一个. 每一个可投入运行的进程都唯一的归属于一个 ...

  5. hdu 4882 ZCC Loves Codefires(贪心)

    # include<stdio.h> # include <algorithm> # include <string.h> using namespace std; ...

  6. 改动android 系统时间

    命令如 date -s "yyyymmdd.[[[hh]mm]ss]" 直接在CRT上执行,举例:date -s "20120801.120503" 但在adb ...

  7. 每一个JavaScript开发者都应该知道的10道面试题

    JavaScript十分特别.而且差点儿在每一个大型应用中起着至关关键的数据.那么,究竟是什么使JavaScript显得与众不同,意义非凡? 这里有一些问题将帮助你了解其真正的奥妙所在:   1.你能 ...

  8. leetCode(46):Kth Smallest Element in a BST

    Given a binary search tree, write a function kthSmallest to find the kth smallest element in it. Not ...

  9. javaScript中的事件对象event

    事件对象event,每当一个事件被触发的时候,就会随之产恒一个事件对象event,该对象中主要包括了关于该事件的基本属性,事件类型type(click.dbclick等值).目标元素target(我的 ...

  10. 性能监控之监控SQL语句

    分析表 analyze table tablename compute statistics for all indexes; analyze table tablename compute stat ...