Pseudo-class declaration

原文地址:http://javascript.info/tutorial/pseudo-classical-pattern#pseudo-class-declaration

pseudo-class consists of the constructor function and methods.
For example, here’s the Animal pseudo-class with single method sit and two properties.

function Animal(name) {
this.name = name
} Animal.prototype = {
canWalk: true,
sit: function() {
this.canWalk = false
alert(this.name + ' sits down.')
}
} var animal = new Animal('Pet') // (1) alert(animal.canWalk) // true animal.sit() // (2) alert(animal.canWalk) // false

  

  1. When new Animal(name) is called, the new object recieves __proto__ reference toAnimal.prototype, see that on the left part of the picture.
  2. Method animal.sit changes animal.canWalk in the instance, so now this animal object can’t walk. But other animals still can.

The scheme for a pseudo-class:

  • Methods and default properties are in prototype.
  • Methods in prototype use this, which is the current object because the value of this only depend on the calling context, so animal.sit() would set this to animal.

javascript OOP 面向对象编程的更多相关文章

  1. JavaScript的面向对象编程(OOP)(一)——类

    在学习JavaScript面向对象的编程之前,需要知道,并了解面向对象的一些基本的常识.初学者中大多数都以为面向对象中,面向对象的编程是很重要和占据很大一部分精力.笔者在之前也是认为OOP是面向对象的 ...

  2. javascript的面向对象编程

    面象对象编程技术的核心理念:封装.继承.多态:在一些主流的高级编程语言中,比如:C#,VB.NET,JAVA,PHP等都是很容易实现的,而如果要在javascript中实现面象对象编程,可就不那么直接 ...

  3. Java实现OOP(面向对象编程)

    一.对象的综述 面向对象编程(OOP)具有多方面的吸引力.对管理人员,它实现了更快和更廉价的开发与维护过程.对分析与设计人员,建模处理变得更加简单,能生成清晰.易于维护的设计方案.对程序员,对象模型显 ...

  4. Javascript 进阶 面向对象编程 继承的一个样例

    Javascript的难点就是面向对象编程,上一篇介绍了Javascript的两种继承方式:Javascript 进阶 继承.这篇使用一个样例来展示js怎样面向对象编程.以及怎样基于类实现继承. 1. ...

  5. Javascript 进阶 面向对象编程 继承的一个例子

    Javascript的难点就是面向对象编程,上一篇介绍了Javascript的两种继承方式:Javascript 进阶 继承,这篇使用一个例子来展示js如何面向对象编程,以及如何基于类实现继承. 1. ...

  6. 用C实现OOP面向对象编程(1)

    如摘要所说,C语言不支持OOP(面向对象的编程).并这不意味着我们就不能对C进行面向对象的开发,只是过程要复杂许多.原来以C++的许多工作,在C语言中需我们手动去完成. 博主将与大家一起研究一下如下用 ...

  7. 一百零六、SAP的OOP面向对象编程,OO-ALV的简介

    面向对象编程,如图 基本概念: 1.对象(Object)是一个现实实体的抽象.一个对象可被认为是一个把数据(属性)和程序(方法)封装在一起的实体,这个程序产生该对象的动作或对它接受到的外界信号的反应. ...

  8. JavaScript的面向对象编程(OOP)(三)——聚合

    之前写过了类和原型,这里再说聚合,在写关于聚合之前,对与继承我再总结一下.JavaScript中关于继承的方式一共有三种,之前写了两种,但是没有说明,这里补充说明一下. 1.类式继承:通过在函数对象内 ...

  9. JavaScript的面向对象编程(OOP)(二)——原型

    关于JavaScript的原型模式,下面的是学习后的个人理解,若是有偏差,还请指出,谢谢 JavaScript原型模式 1.什么是原型? 原型是一个对象,其他的对象可以通过它实现属性的继承,所有的对象 ...

随机推荐

  1. Apache+Tomcat服务器集群配置

    在实际应用中,如果网站的访问量很大,为了提高访问速度,可以与多个Tomcat服务器与Apache服务器集成,让他们共同运行servlet/jsp 组件的任务,多个Tomcat服务器构成了一个集群(Cl ...

  2. hadoop性能测试命令

    1.测试hadoop写的速度向HDFS文件系统中写入数据,10个文件,每个文件10MB,文件存放到/benchmarks/TestDFSIO/io_data中hadoop  jar share/had ...

  3. PHP signal 信号

    最早写php时,发现在终端执行一个php文件,会一直等待程序执行完成以后,终端才能继续下面的操作,若不小心按了下Ctrl+C会导致php程序退出,闭避免这种情况发生,将会使用php的系统编程,即sig ...

  4. iosiOStextView实现文字高度自适应

    跟为textView设置提示性文字一样   需要在textView的代理方法中实现如下 如有偏差  请谅解 定义UITextView,实现UITextViewDelegate: -(UITextVie ...

  5. glusterfs——volume管理

    Q: 常用的命令有哪些? 创建volume: gluster volume create NAME stripe SCOUNT replica RCOUNT transport TYPE  BRICK ...

  6. System.Uri类 - 获取Url的各种属性,文件名,参数,域名,端口等等

    System.Uri类用于处理Uri地址信息,常用到它的地方有,相对Uri地址转绝对Uri地址,获取Uri的某部分信息等等,可以说是一个非常有用的类. 一.属性 AbsolutePath 获取 URI ...

  7. 第13章 Swing程序设计----JFrame窗体

    JFrame窗体是一个容器,它是Swing程序中各个组件的载体,可以将JFrame看作是承载这些Swing组件的容器. 在开发应用程序时可以通过继承java.swing.JFrame类创建一个窗体,在 ...

  8. PAXOS may not terminate

    It’s easy to see that Paxos does have a failure mode. When two proposers are active at the same time ...

  9. dfs Codeforces Round #356 (Div. 2) D

    http://codeforces.com/contest/680/problem/D 题目大意:给你一个大小为X的空间(X<=m),在该空间内,我们要尽量的放一个体积为a*a*a的立方体,且每 ...

  10. avd

    http://stackoverflow.com/questions/2662650/making-the-android-emulator-run-faster http://www.cnblogs ...