面向对象编程的主要目的之一是提供可重用的代码。C语言中通过函数来提高代码的可重用性,但是,函数有一定的局限性,当你需要根据自己的需求修改代码时,会存在一定的风险,如不经意地修改函数的工作方式或改变了库函数之间的关系。
而C++类提供了更高层次的重用性。虽然我们也可以通过修改函数来满足需求,但是C+....
分类:
编程语言 时间:
2014-05-21 21:24:09
阅读次数:
286
php面向对象设计 对象相比数组的优点:不仅可以存储多个数据,还可以将函数存在对象中
对象的三大特性:封装、继承、多态 面向对象编程(object oriented programming
即oop),其达到了编程代码的重用性、灵活性和扩展性更加简洁、容易维护。php又不是纯的面向对象编程,其...
分类:
Web程序 时间:
2014-05-21 21:23:29
阅读次数:
260
设计模式主要分三个类型:创建型、结构型和行为型。
创建型:
一、Singleton,单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点
二、Abstract Factory,抽象工厂:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。
三、Factory Method,工厂方法:定义一个用于创建对象的接口,让子类决定实例化哪一个...
分类:
其他好文 时间:
2014-05-21 16:20:55
阅读次数:
216
《深度搜索C++对象模型》的一些学习纪要:
一成员变量篇
0. 类的编译中,先编译成员变量和成员函数的额声明,成员函数的定义在类声明结束后再处理;
1. 类中,多个代码区块public或者private最终会被按区块统一,然后编译过程中,后定义的成员变量地址高于定义的成员变量;
2. 静态变量在程序启动时初始化,存储的位置在于程序的全局数据段中;
3. 继承中...
分类:
编程语言 时间:
2014-05-21 10:18:55
阅读次数:
305
最近在程序中需要取一个列表的top 3元素,就是去一个列表中数值最大的3个元素。这可以用Python的heapq模块来处理。
1、对列表取top N:
现在有一个列表myList,需要取出该列表的最大3个元素和最小3个元素,按如下代码所述的简单例子:
test.py
import heapq
myList = [5, 2, 6, 12, 7, 3, 4, 9]
topNum = 3
n...
分类:
编程语言 时间:
2014-05-21 08:18:57
阅读次数:
335
原文
运行几个线程和同时运行几个不同的程序类似,它有以下好处:
一个进程内的多个线程和主线程分享相同的数据空间,比分开不同的过程更容易分享信息或者彼此通信。
线程有时叫做轻量化过程,而且他们不要求更多的内存开支;它们比过程便宜。
一个线程的顺序是:启动,执行和停止。有一个指令指针跟踪线程正在运行的上下文在哪里。
它可以被抢占(中断)
它能暂时被挂起(也叫做休眠)...
分类:
编程语言 时间:
2014-05-21 08:05:20
阅读次数:
385
OOP基础。
OOP有三大目标,重用性、灵活性和扩展性。
OOP有三大特性,封装、继承和多态。抽象虽然不是OOP的编程特性,但它却是所有编程语言的最大特性。
封装,隐藏程序的属性和的实现细节,并控制属性的访问权限,对外仅提供接口。
继承,是对基类的代码进行利用并扩展基类,是一个从一般到特殊的过程。
多态,运行时,根据对象的不同,同一...
分类:
其他好文 时间:
2014-05-21 07:19:22
阅读次数:
231
【06】格式化输出
题目:用*号输出字母C的图案。
思路:可先用'*'号在纸上写出字母C,再分行输出。如果输出图形较大,且有规律可循,可考虑使用循环。
C 语言代码
int main()
{
const char *p =
" **** \n"
" ** ** \n"
"** \n"...
分类:
编程语言 时间:
2014-05-21 06:25:40
阅读次数:
305
一、重写(override)override是重写(覆盖)了一个方法,以实现不同的功能。一般是用于子类在继承父类时,重写(重新实现)父类中的方法。重写(覆盖)的规则:
1、重写方法的参数列表必须完全与被重写的方法的相同,否则不能称其为重写而是重载. 2、重写方法的访问修饰符一定要大于被重写方法的访问...
分类:
其他好文 时间:
2014-05-21 04:33:06
阅读次数:
272
用python做项目,如果项目大了,或者想更好的管理程序,总是要使用包。包解决了命名冲突的问题。今天在使用python的相对路径导入的时候,遇到了不少的问题。包导入情形:src/__init__.pymain.pycomponents/__init__.pyexpander.pylanguage_i...
分类:
编程语言 时间:
2014-05-21 04:31:40
阅读次数:
336