下面的一个DBase基类提供了一些jdbc的基本操作,配置文件的配置部分并不准确,只是在自己机器上的mysql中测试过.. 数据库的增删改方法中都在开始调用了getConnection方法,末尾调用了Close方法:数据库的查询中没有调用close方法,因为一旦调用了close方法,就无法用RecodeSet操作查询结果了,所以在调用了查询方法后,要调用close方法,防止出现 too many connections 错误. 此外,DBase中的所有对象都是static的,所以在使用时不要调用…
作为ERP等数据应用程序,数据库的处理是重中之重. 在框架中,我封装了一个数据库的基类,在每个模组启动或窗体启动过程中,实例化一个基类即可调用CRUD操作(create 添加read读取 update 修改delete删除),当然,还包括基础的SQL事务处理. 这个过程中,还考虑到对插件的管控,利用反射增加了调用授权,避免未经授权的程序盗用数据连接. 看看完整的代码: /// <summary> /// 数据库连接基类 /// </summary> public class DBC…
上一篇博客中,我们将简单的路由解析和执行,从入口文件public/index.php中移入到框架中.入口文件顿时变得清爽无比-- 但是,去我们的controller里看一下,会看到如下的code: public function actionView() { $body = 'Test body information'; require '../views/site/view.php'; } 难道我们每写一个要去渲染页面的action,都要去找相应路径的view,然后把它require进来.肯…
我们在开发App的时候有时候碰到多个界面有一个共同点的时候,比如,都有相同的TitleBar,并且TitleBar可以设置显示的文字.TitleBar上的点击事件,如果给每一个Activity都写一遍TitleBar是一件非常费事的事情,这个时候我们就可以重写一个Activity基类,让其他有相同点的Activity来继承这个类,从而省去了很多的重复不必要的工作.提高了效率. 如图: 两个界面拥有共同的特点,有一个我们自己定义的TitleBar,这个TitleBar属于我们自定义的基类BaseA…
4.4.3 虚基类1.没什么要引入虚基类 如果一个类有多个直接基类,而这些直接基类又有一个共同的基类,则在最底层的派生类中会保留这个间接的共同基类数据成员的多分同名成员.在访问这些同名的成员时,必须在派生类对象后增加直接基类名,使其惟一地标识一个成员,以免产生二义性. //例 4.15 虚基类的引例 #include<iostream> using namespace std; class Base{ //声明类Base1和类Base2的共同的基类Base public: Base() { a…
虚基类表相对于虚函数表要稍微难理解些,故单独提出来. 虚函数表是在对象生成时插入一个虚函数指针,指向虚函数表,这个表中所列就是虚函数. 虚基类表原理与虚函数表类似,不过虚基类表的内容有所不同.表的第一项表示派生类对象指针相对于虚基类表指针的偏移,从第二项开始表示各个基类地址相对于虚基类表指针的偏移. 程序 #include <cstdio> class A { public: int a; int aa; virtual void vfuna(){}; }; class B { public:…
单例模式(Singleton Pattern)是设计模式中的一种,它用来保证系统中最多只能存在一个它的实例,其做法是由类自身来创建和持有它的对象实例,把对实例的创建权和管理权都控制在自己手中,以便控制实例数目. 关于如何在C++中实现单例模式的讨论已经太多了,我只是简单介绍一下可以继承的单例类. 首先介绍一下通常所见的单例类的写法,不妨设这个类叫做Singleton. Singleton.h: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20…
引言: 我们都知道类的一个很明显的特性是多态,比如我们声明一个水果的基类: class Fruit { public: Fruit() {}; ~Fruit(){}; } 那么我们根据这个Fruit基类可以派生出以下的子类: class Apple:public Fruit{}; class Orange:public Fruit{}; 那么问题来了,如果我们想经由一个基类指针去删除一个派生类Apple,且我们有以下的方法 Fruit * foo(){ Apple * p = new Apple…
我们知道,如果一个派生类有多个直接基类,而这些直接基类又有一个共同的基类,则在最终的派生类中会保留该间接共同基类数据成员的多份同名成员.在引用这些同名的成员时,必须在派生类对象名后增加直接基类名,以避免产生二义性,使其惟一地标识一个成员,如:    c1.A::display( ) 在一个类中保留间接共同基类的多份同名成员,虽然有时是有必要的,可以在不同的数据成员中分别存放不同的数据,也可以通过构造函数分别对它们进行初始化.但在大多数情况下,这种现象是人们不希望出现的.因为保留多份数据成员的拷贝…
(根据<C++程序设计>(谭浩强)整理,整理者:华科小涛,@http://www.cnblogs.com/hust-ghtao转载请注明) 多重继承是指一个派生类有两个或多个基类.例如,有些学校的领导干部同时也是教师,他们既有干部的属性,又有教师的属性.C++为了适应这种情况,允许一个派生类同时继承多个基类,这就是多重继承. 1  多重继承的基础 本节包含两部分内容,即如何声明多重继承和多重继承派生类的构造函数. 1.1  声明多重继承的方法 如果已经声明了类A.类B.类C,可以声明多重继承的…