php面向对象精要(1)】的更多相关文章

<javascript面向对象精要> 买这本书的原因主要是因为作者,Nicholas C. Zakas 牛X闪闪的js专家,读过js高程的应该都知道他,而这本书是他的最新力作,感觉也是js高程的精华版,满满地全是姿势,但这本书可不适合入门,读之前最好略懂js. 第一章 原始类型和引用类型 原始类型还是老生常谈的那5个:boolean,number,string,null,undefined. 但我始终认为typeof null 为object不应严重到作为一个错误来看待,毕竟null就是一个空…
JavaScript 面向对象精要--理解对象 尽管JavaScript里有大量内建引用类型,很可能你还是会频繁的创建自己的对象.JavaScript中的对象是动态的. 一.定义属性 当一个属性第1次被添加给对象时JavaScript在对上上调用了一个名为 [[Put]]的内部方法,该方法会在对象上创建一个新节点保存属性,就像 哈希表上第一次添加一个键一样这个操作不仅指定了初始值 也定义了属性的一些特征 1.1 [[Put]]内部方法 [[Put]]在对象上创建一个自有属性 1.2 [[Set]…
什么是对象的数据属性?什么是对象的访问器属性?[put]方法是默认创建数据属性的,访 问器属性不包含值而是定义了一个单属性被读取时调用的函数(getter)和当一个属性被写入时 调用的函数(setter).访问器属性仅需要getter或setter中的任意一个,当然也可以两者都有. 关于javascript面向对象精要第三章对象整理如下…
在JavaScript中,函数其实也是对象.是函数不同于其他对象的特点是:函数存在一个被称为[[Call]]的内部属性.[[Call]]属性是函数独有的,表明该对象可以被执行.ECMAScript 定义了typeof操作符对具有[[Call]]属性的对象返回 "function".理解函数的行为是理解JavaScript的核心. 一.函数声明式和表达式 1.1 函数声明  以function开头后面跟着函数的名字 function add(num1,num2){ return num1…
一.什么是类型 JavaScript 虽然没有类的概念.但依然存在两种类型:原始类型和应用类型. 原始类型保存为简单的数据值,引用类型则保存为对象,其本质是指向内存位置 的引用.也就是说:原始值被直接保存在对象内,而引用值则作为一个指针保存在 对象内,该指针指向实际对象在内存中的储存位置. 二.原始类型 2.1 JavaScript中5中原始类型:boolean,number,string,null,undefined  原始类型变量直接保存原始值(而不是一个指针),当你将原始值赋值给一个变量 …
数据类型 在JavaScript中,数据类型分为两类: 原始类型:保存一些简单数据,如true.5等.JavaScript共同拥有5中原始类型: boolean:布尔.值为true或false number:数字.值为不论什么整型会浮点数值 string:字符串,值为由单引號或双引號括出的单个字符或连续字符(JavaScript不区分字符类型) null:空类型,其仅有一个值:nulll undefined:未定义,其仅有一个值:undefined var name = "Pomy";…
来自:淡忘~浅思. 链接:http://www.ido321.com/1585.html 和 http://www.ido321.com/1586.html 数据类型   在JavaScript中,数据类型分为两类: 原始类型:保存一些简单数据,如true,5等.JavaScript共有5中原始类型: ●boolean:布尔,值为true或false ●number:数字,值为任何整型会浮点数值 ●string:字符串,值为由单引号或双引号括出的单个字符或连续字符(JavaScript不区分字符…
混入是一种给对象添加功能同时避免继承的强有力的方式,混入时将一个属性从一个对象 复制到另一个,从而使得接收者在不需要继承的情况下获得其功能.和继承不同,混入之后 对象无法检查属性来源.因此混入最适宜用于数据属性或小函数.…
javascript中使用原型链支持继承,当一个对象的[prototype]设置为另一个对象时, 就在这两个对象之间创建了一条原型对象链.如果要创建一个继承自其它对象的对象, 使用Object.create()指定[prototype]为一个新对象. 继承的几种方法有 1.在构造函数中创建原型对象链来完成自定义类型之间的继承.但是不能用原型对象 继承自有属性. 2.为了继承自有属性可以使用call()和apply()调用父类的构造函数[伪类继承]. 3.直接访问父类原型对象的方式访问父类的方法.…
1,final关键字定义的方法,不能被重写 由于final修饰了show方法,子类中重写show方法会报错 <?php class MyClass { final function show(){ echo "hello world" . PHP_EOL; } } class MyTest extends MyClass { function show(){ echo __CLASS__ . PHP_EOL; } } ?> 2,final定义的class不能被继承 <…
1,self与parent关键字 >self指向当前的类,常用来访问静态成员,方法和常量 >parent指向父类,常用来调用父类的构造函数和方法和成员,也可以用来访问常量 <?php class Ancestor { const NAME = "Ancestor"; function __construct(){ echo self::NAME . PHP_EOL; } } class Child extends Ancestor { const NAME = &qu…
1.静态属性与方法 每一个类的实例拥有自己的属性和方法,每一个类也可以包含静态属性,静态属性不属于类的任何实例,可以把静态属性理解成存储在类中的全局变量,可以在任何地方通过类名引用静态属性. <?php class MyClass { static $a = 0; function getValue(){ return self::$a; } } $obj = new MyClass(); echo $obj->getValue() . PHP_EOL; echo MyClass::$a .…
前面的话 面向对象的应用并非只是读几本书那么容易,需要有大量的工程实践做基础才能真正理解并学会使用它.本文将用面向对象的技术来制作一个简单的选项卡 图示说明 由图示结果看到,这是一个非常简单的选项卡.三个控制按钮利用点击事件分别控制三张不同的选项卡.选项卡用文字和背景颜色区分,控制按钮用轮廓outline区分 HTML代码 [1]使用行间样式来引入CSS的扩展性不高,需要根据实际情况谨慎使用 [2]在a标签中使用javascript:;来阻止默认的页面跳转行为 [3]给最外层div元素设置id属…
× 目录 [1]构造函数 [2]原型对象 [3]总结 前面的话 一般地,javascript使用构造函数和原型对象来进行面向对象编程,它们的表现与其他面向对象编程语言中的类相似又不同.本文将详细介绍如何用构造函数和原型对象来创建对象 构造函数 构造函数是用new创建对象时调用的函数,与普通唯一的区别是构造函数名应该首字母大写 function Person(){ this.age = 30; } var person1 = new Person(); console.log(person1.ag…
JavaScript 面向对象开发知识基础总结 最近看了两本书,书中有些内容对自己还是很新的,有些内容是之前自己理解不够深的,所以拿出来总结一下,这两本书的名字如下: JavaScript 面向对象精要 JavaScript 启示录 如果对于 JavaScript 面向对象编程理解不够深的话,第一本书还是强烈推荐的.第二本书比较适合初中级的开发者阅读.对各种知识点都有代码示例.内容中规中矩. 1.JavaScript 中的变量类型和类型检测 C#和Java等编程语言用栈存储原始类型,用堆存储引用…
× 目录 [1]类型 [2]方法 [3]详述[4]状态 前面的话 对于操作系统中的文件,我们可以驾轻就熟将其设置为只读.隐藏.系统文件或普通文件.于对象来说,属性描述符提供类似的功能,用来描述对象的值.是否可配置.是否可修改以及是否可枚举.本文就来介绍对象中神秘的属性描述符 描述符类型 对象属性描述符的类型分为两种: 数据属性和访问器属性 数据属性 数据属性(data property)包含一个数据值的位置,在这个位置可以读取和写入值.数据属性有4个特性 [1]Configurable(可配置性…
× 目录 [1]查询 [2]设置 [3]删除[4]继承 前面的话 对于对象来说,属性操作是绕不开的话题.类似于“增删改查”的基本操作,属性操作分为属性查询.属性设置.属性删除,还包括属性继承.本文是对象系列的第二篇——属性操作 属性查询 属性查询一般有两种方法,包括点运算符和方括号运算符 var o = { p: 'Hello World' }; o.p // "Hello World" o['p'] // "Hello World" [注意]变量中可以存在中文,因…
× 目录 [1]定义 [2]创建 [3]组成[4]引用[5]方法 前面的话 javascript中的难点是函数.对象和继承,前面已经介绍过函数系列.从本系列开始介绍对象部分,本文是该系列的第一篇——初识对象 对象定义 javascript的基本数据类型包括undefined.null.boolean.string.number和object.对象和其他基本类型值不同的是,对象是一种复合值:它将许多值(原始值或者其他对象)聚合在一起,可通过名字访问这些值 于是,对象也可看做是属性的无序集合,每个属…
本文涉及的主题虽然很基础,在很多人眼里属于小伎俩,但在JavaScript基础知识中属于一个综合性的话题.这里会涉及到对象属性的封装.原型.构造函数.闭包以及立即执行表达式等知识. 公有方法 公有方法就是能被外部访问并调用的方法. // 在对象中 var Restaurant = { name: 'McDonald', // 公有方法 getName: function() { return this.name; } } // 在构造函数中 function Person(name, age)…
构造函数 构造函数主要用于初始化新对象.按照惯例,构造函数名第一个字母都要大写. 构造函数有别于其它函数在于它使用new操作符来调用生成一个实例对象.换句话说,如果一个函数使用new操作符来调用,则将其称为构造函数. function User(name, age) { this.name = name; this.age = age; } // 调用 var jenemy = new User('jenemy', 25); jenemy.name; // jenemy 与函数调用和方法调用的不…
在JavaScript中对象是一个无序属性的集合,其属性可以包含基本值.对象或者函数. 对象最简单的创建方式 JavaScript中创建对象最简单的方式就是创建一个Object对象的实例,然后再添加属性和方法. var person = new Object(); person.name = 'jenemy'; person.age = 24; person.getName = function() { return this.name; } 另一种写法是使用对象字面量语法,这种方式看起来更加简…
有很多前端伙伴们学习前端很多了,但是如何能成为优秀的程序员呢,前端必学的知识点相信学习前端的伙伴们心里都非常清楚.主要的三要素包括HTML.CSS和JavaScript.那么学好JavaScript是很重要的一个环节.今天就推荐下学习JavaScript技术需要看的10本书. 1.高级——JavaScript框架设计   2.高级——JavaScript设计模式   3.高级——单页Web应用:JavaScript从前端到后端   4.高级——JavaScript面向对象精要   5.中级——编…
引言 老人常说,在js中,一切皆对象,那对象又是什么涅,最常用的我们都知道,对象有方法和属性.由一些键值对构成的集合,然后随便用个大括号括起来就形成了一个对象.看起来蛮简单的,但是真是这么简单么,当我们新建一个对象,为什么会'天生'带有 hasOwnProperty. toString 这些方法呢? 追溯 这其实与JS的继承机制有关,JS中对象是通过原型继承的,实例对象都默默带着一个__proto__属性,这个属性默认指向实例对象的原型对象,当访问实例对象没有的属性或者方法时,js引擎会顺着__…
世间万物,以俗眼观纷纷各异,以道眼观种种是常.面向对象思想不仅是编程的智慧,同样也是人生的智慧.通过生活去领悟面向对象的智慧,以面向对象的智慧来指导生活. (部分图片取自How I explained OOD to my wife) 一·单一职责原则(Single-Responsibility Principle) 定义:一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中. 宿舍里并不能好好学习,自习还是得去图书馆.这是一条颠扑不破的真理!被无数学子千百次的实践所证明!我就想不通了,…
什么是面向对象编程? 我们先来看看几个概念: 面向过程程序设计 面向过程,是根据事情发展的步骤,按进行的顺序过程划分,面向过程其实是最为实际的一种思考方式,可以说面向过程是一种基础的方法,它考虑的是实际地实现,一般的面向过程是从上往下步步求精. 例如:如果你要吃饭,那需要:“买菜-洗菜-做饭-吃饭”等等,一步一步的来设计,就是面向过程…
OOA Object-Oriented Analysis:面向对象分析方法 是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题.OOA与结构化分析有较大的区别.OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析. OOA(面向对象的分析)模型由5个层次(主题层.对象类层.结构层.属性层和服务层)和5个活动(标识对象类.标识结构.定义主题.定义属性和定义服务)组成.在这种方法中定义了两种对象类之间的结构,…
写在开篇之前 这个系列都文章算是我最近研究了JavaScript(以后简称js)大半个月的一点心得吧.记得以前看过罗小平的一本书叫<Delphi精要>,我也就姑且起名叫<JavaScript精要>了——显然有点抄袭之嫌-:) 本系列的文章要求读者在编程之前,至少对js有基本的了解,有一点编程基础:因为里面不会设计到编程的基础知识,只对js里面比较独特的.难以理解的地方进行剖析. 最后,感谢大家在百忙中抽出时间来看这些文章,也希望这些文章能帮到那些正真需要帮助的人:也希望得到大家的批…