2016-08-23 曹强
所谓继承,比较熟悉,这里就是指定义一个新的controller/service(不同名),继承原来的controller/service,然后在其基础上重写一些功能。 所谓扩展,这里说的是在不产生新的controller/service的情况下,添加或修改原controller/service的功能。 目前研究的结果就是service可以轻松的实现继承和扩展,而controller貌似只能继承。 more controller的继承 说到controller,我们在前面的文章中介绍过有两种写法:使用$scope或使用controller as。针对这两种方式的区别,我们也可以使用两种不同的继承方式: * 使用controll 继续阅读 »
2016-06-08 浩阳
content {:toc} 记录一下阅读蝴蝶书的笔记,本篇为书中以下章节的笔记:继承、数组和正则表达式。 继承 继承的两大好处:代码重用,引入一套类型系统的规范。 伪类 JavaScript 通过构造器函数产生对象。 继续阅读 »
2016-08-21 曹强
相信大家写过AngularJS的都会发现,很多人在处理表单的数据绑定时,都习惯性的把ng-model绑定在$scope的一个对象属性上,而不是直接绑定在scope上。比如说使用而不是。这是为什么呢?这样在controller里面岂不是写起来更复杂吗?每次访问的时候都要多“点”一下,为什么不直接绑在$scope上呢?其实这样写自然是有它的好处的,而且这种写法也是推荐的最佳实践,尤其是在处理嵌套scope的情形下,这样写是很有必要的。为了弄清楚这么写的原因,我们需要深入的研究一下AngularJS里scope的继承。 more 基于原型链的继承 AngularJS的官方文档里有这么一句话来描述scope:A "child scope 继续阅读 »
2016-07-31 曹强
原型链继承 让构造函数的原型对象等于另一个类型的实例,利用原型让一个引用类型继承另一个引用类型的属性和方法 ``` function SuperType() { this.property=true; } SuperType.prototype.getSuperValue=function(){ return this.property; }; function SubType() { this.subProperty=false; } //继承SuperType SubType.prototype=new SuperType(); SubType.prototype.getSubValue=f 继续阅读 »
2016-10-13 曹强
php
简介 在[PHP设计模式(二):抽象类和接口][2]以及[PHP设计模式(三):封装][3]中,我们已经见过继承,也就是extends关键字。 和C/C++,Java,Python等语言一样,PHP也支持继承,而且和其他语言没有什么区别。 继承/Inheritance 还是用动物、鲸鱼和鲤鱼来举例: abstract class Animal { protected $name; protected function chew($food) { echo $this-name . " is chewing " . $food . ".\n"; } protected function diges 继续阅读 »
2018-08-16 张炎泼
mdtoc start 问题: cgexec 会忽略掉 LD_PRELOAD的环境变量 解决方案 原因 继续阅读 »
2014-07-13 Lim Geng
创建类 1.工厂模式:解决了创建多个相似对象的问题,但却没有解决对象识别的问题(即怎样知道一个对象的类型) ``` funtion createPerson(name, age, job) { var o = new Object(); o.name = name; o.age = age; o.job = job; o.sayName = function () { alert(this.name); }; return o; } var person1 = createPerson("Nicholas", 29, "SE"); ``` 2.构造函数模式:缺点是每个方法都要在每个实例上 继续阅读 »
2015-10-14 Jason Liao
在大部分的语言中,都是类和对象的概念,类继承于其他类 但是在 JavaScript 中,继承是基于原型的,这意味着我们没有真真切切的 "类",我们是由对象继承于对象的(OLOO-Objects Linking to Other Object) 继续阅读 »
2018-04-16 Vaniot
面向对象编程(Object Oriented Programming简称OOP)是一种计算机编程架构,程序开发方法的实践。面向对象将对象作为程序的基本单位,程序和数据封装于其中。两个基础的概念是类与对象,类与对象的关系是模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类。类描述了一组有相同特性(属性)和相同行为(方法)的对象。 面向对象的实现了三个目标,重用性、灵活性和扩展性,使系统的各个部分分工明确。使编程的代码更简洁、更易于维护。 三个基本特征 面向对象编程,有三个基本的特征:封装,继承,多态。 - 封装隐藏实现的细节,代码模块化。 - 继承扩展已存在的代码模块。 封装和继承实现了代码的重用。 - 多态在 继续阅读 »
2016-10-12 曹强
模版方法是一种只需要使用继承就可以实现的非常简单的模式。他由两部分组成,第一部分是抽象父类,第二部分是具体实现子类。通常在抽象父类中封装了子类的算法框架,包括实现一些共用方法以及封装子类所有方法的执行顺序。子类通过继承这个抽象类,也继承了整个算法结构,并且可以选择重写父类的方法。 Coffee or Tea 假设我们现在要泡一杯咖啡步骤如下: * 把水煮沸 * 用沸水冲泡咖啡 * 把咖啡倒进杯子 * 加糖和牛奶 泡茶的步骤: * 把水煮沸 * 用沸水浸泡茶叶 * 把茶水倒进杯子 * 加柠檬 经过比较,我们可以发现泡茶和泡咖啡有以下共同点: 原料不同。一个是茶一个是咖啡,但是我们都可以把它们抽 继续阅读 »