什么是面向对象:
  使用对象时,只关注对象提供的功能,不关注其内部的细节 例如: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. C IO programming test code

    #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl ...

  2. 为Electron 安装 vue-devtool等扩展

    相关代码: https://github.com/WozHuang/Barrage-helper/blob/master/src/main/index.dev.js 在SPA逐渐成为构建优秀交互体验应 ...

  3. [Codeforces 626F]Group Projects

    题目大意: 给定\(n\)个数\(a[1]\sim a[n]\),让你把它分为若干个集合,使每个集合内最大值与最小值的差的总和不超过\(K\).问总方案数. 解题思路: 一道很神的dp题. 首先将数进 ...

  4. BZOJ 2402 陶陶的难题II (01分数规划+树剖+线段树+凸包+二分)

    题目大意:略 一定范围内求最大值,考虑二分答案 设现在选择的答案是$mid$,$max \left \{ \frac{yi+qj}{xi+pj} \right \} \geq mid $ 展开可得,$ ...

  5. BZOJ 3336 Black and White (插头DP)

    题目大意: 给你一个n×m的网格,有一些格子已经被涂上了白色或者黑色,让你用黑色或白色填剩下的格子,且填好的网格必须保证: 1.对于任意2×2的子矩阵的4个格子,它们的颜色不能都相同 2.所有黑色的块 ...

  6. 如何使用JAVA请求HTTPS

    JDK对应的TLS版本(仅供参考) 1.写一个SSLClient类,继承至HttpClient import java.security.cert.CertificateException; impo ...

  7. Redis:基础知识及其常用数据类型和关键字

    Redis: Redis是什么: REmote DIctionary Server(远程字典服务器) 是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(Key-Value)分布式内存数 ...

  8. array_combine php一个比较偏门的数组函数

    这函数  返回数组1的值 当做key,把数组2的值当做value,   当查询数据库用了 group +GROUP_CONCAT 两个组合时,(例如查询某个班级的,用户名,用户id,返回的是字符串,打 ...

  9. Light OJ 1317 Throwing Balls into the Baskets 概率DP

    n个人 m个篮子 每一轮每一个人能够选m个篮子中一个扔球 扔中的概率都是p 求k轮后全部篮子里面球数量的期望值 依据全期望公式 进行一轮球数量的期望值为dp[1]*1+dp[2]*2+...+dp[ ...

  10. Android笔记三十三.BroadcastReceiver使用

        广播是一种广泛运用在应用程序之间传输信息的机制,而BroadcastReceiver是对发送出来的广播进行过滤接收并响应的一类组件. BroadcastReceiver本质上是一种全局监听器. ...