继承是面向对象编程的一个重要的方式,因为通过继承,子类就可以扩展父类的功能。回忆一下Animal类层次的设计,假设我们要实现以下4种动物:Dog - 狗狗;Bat - 蝙蝠;Parrot - 鹦鹉;Ostrich - 鸵鸟。如果按照哺乳动物和鸟类归类,我们可以设计出这样的类的层次:但是如果按照“能跑...
分类:
编程语言 时间:
2014-09-28 05:19:20
阅读次数:
273
>>> d = {'a':1}>>> print '%s' % 1,d1 {'a': 1}>>> print '%s %s' % 1,dTraceback (most recent call last): File "", line 1, in TypeError: not enough argu....
分类:
编程语言 时间:
2014-09-28 04:29:10
阅读次数:
203
面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即把...
分类:
编程语言 时间:
2014-09-28 05:02:20
阅读次数:
215
面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。仍以Student类为例,在Python中,定义类是通过class关键字:class Stu...
分类:
编程语言 时间:
2014-09-28 05:52:10
阅读次数:
202
正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。先定义class:>>> class Student(object):... pass...然后,尝试给实例绑定一个属性:>>> s = Student()>>>...
分类:
编程语言 时间:
2014-09-28 05:52:00
阅读次数:
214
Python的每个新版本都会增加一些新的功能,或者对原来的功能作一些改动。有些改动是不兼容旧版本的,也就是在当前版本运行正常的代码,到下一个版本运行就可能不正常了。从Python 2.7到Python 3.x就有不兼容的一些改动,比如2.x里的字符串用'xxx'表示str,Unicode字符串用u'...
分类:
编程语言 时间:
2014-09-28 04:28:30
阅读次数:
179
在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把成绩随便改:s = Student()s.score = 9999这显然不合逻辑。为了限制score的范围,可以通过一个set_score()方法来设置成绩,再通过一个get_score()来获取成绩,这样,...
分类:
编程语言 时间:
2014-09-28 05:51:40
阅读次数:
226
在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类、父类或超类(Base class、Super class)。比如,我们已经编写了一个名为Animal的class,有一个run()方法可以直接...
分类:
编程语言 时间:
2014-09-28 04:44:50
阅读次数:
438
当我们拿到一个对象的引用时,如何知道这个对象是什么类型、有哪些方法呢?使用type()首先,我们来判断对象类型,使用type()函数:基本类型都可以用type()判断:>>> type(123)>>> type('str')>>> type(None)如果一个变量指向函数或者类,也可以用type()...
分类:
编程语言 时间:
2014-09-28 04:28:00
阅读次数:
228
在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的name、score属性:>>> bart = Student('Bart Simpson', 98)>>...
分类:
编程语言 时间:
2014-09-28 04:11:00
阅读次数:
187
概述
本片博客从请求—处理—响应
IIS处理请求的过程
我们通过浏览器(Socket客户端)访问一个IIS服务器上的网页时,该请求到达IIS服务器上后,IIS的http.sys(分发器)组件就会根据相应的判断,将其交给对应的应用程序池(IIS上都有相应的注册信息),对应的应用程序池接收到请求后,会将其交给相应的工作进程进行处理,工作进程接到请求后,根据请求文件的...
分类:
Web程序 时间:
2014-09-28 04:16:00
阅读次数:
231
Singleton in C++:
#include
using namespace std;
class Restaurant {
public:
static Restaurant *getInstance() {
if (instance == NULL) instance = new Restaurant(100);
return instance;
}
int get...
分类:
编程语言 时间:
2014-09-28 02:52:00
阅读次数:
159
反射机制这几篇博客写下来发现涉及到Java类的加载机制,这部分的内容也比较独立的一部分,因此单另一篇来写。在JAVA中任何的类都是需要加载到JVM中才能运行的。之前Class Loader介绍了类的加载机制,那么这里要说的是不同加载方式之间的对比,好能对JAVA类的实例化过程有更深刻的体会。
new和Class.newInstance
我们说代码里出现new关键字意味着对于可能...
分类:
编程语言 时间:
2014-09-28 03:25:11
阅读次数:
240
无间道中有句名言:“出黎行,迟早都要还嘅!”选咗嚟条路,预咗啦。 大概意思是这样。我也在很早前选了自己要走的方向,如今内心有点怕,怕有一天还不起。也许就跟买一部计算机那样,害怕装黑苹果,害怕在苹果上装Windows,不喜欢苹果的显卡性能差,当时还嫌弃MAC平台的游戏少,现在倒好,很多人的开发环境都是Mac或Linux的,不可能每次去阅读以下开源的代码每次都去配置需求的环境,很多时候需要仅仅是很少的...
分类:
其他好文 时间:
2014-09-28 02:51:40
阅读次数:
392
通过Post方式传递数据给服务器是Android应用程序开发提交数据给服务器的一种主要的方式,适用于数据量大、数据类型复杂、数据安全性高的场合。...
分类:
移动开发 时间:
2014-09-28 03:24:51
阅读次数:
187
通过GET方式上传数据主要适用于数据大小不超过2KB,且对安全性要求不高的情况下。...
分类:
移动开发 时间:
2014-09-28 04:14:51
阅读次数:
299
单调栈(序列)分析待补,正好区域赛前可以重温一下。 1 /* 2 ID:esxgx1 3 LANG:C++ 4 PROG:B 5 */ 6 #include 7 #include 8 #include 9 #include 10 #include 11 using nam...
分类:
其他好文 时间:
2014-09-28 03:06:30
阅读次数:
230