在两年前学习C++的时候,知道抽象类这么一个概念,当时并不是很理解,如今在学习C#和设计模式的时候,再一次碰到了这个含糊不清的东西,同时又在C#中学习到了接口技术,接口也早有耳闻,但是当时理解的接口就是一个或者一组能够操作类中数据的函数或者方法。虽然老师举过很多例子,比如电视机这个事物,它对外的接口就是遥控器,遥控器里好多的按钮,按钮的下面就是各种各样的命令或者称之为方法。
当...
分类:
其他好文 时间:
2014-04-29 13:35:19
阅读次数:
239
State模式定义:
允许一个对象在状态改变是,改变它的行为。看起来对象似乎修改了它的类。
模式理解(个人):
State模式主要解决的事在开发中时常遇到的根据不同状态需要进行不同的处理操作的问题,而这样的问题,大部分人会采用switch-case语句进行处理,这样会造成一个问题:分支过多,而且如果加入一个新的状态就需要对原来的代码进行编译。State...
分类:
其他好文 时间:
2014-04-29 13:34:21
阅读次数:
285
类--隐含的this指针引言: 在前面提到过,成员函数具有一个附加的隐含形参,即指向该类对象的一个指针。这个隐含形参命名为this,与调用成员函数的对象绑定在一起。成员函数不能定义this形参,而是有编译器隐含地定义。成员函数可以显式的使用this指针,但不是必须这么做。1、何时使用this指针 有一种情况下,我们必须显式使用this指针:当需要将一个对象作为整体引用而不是引用对象的一...
分类:
编程语言 时间:
2014-04-29 13:21:21
阅读次数:
371
前面对C++ 面向对象的基本了解和认识,下面来运用前面的基础知识,来实现一个简单的雇员工资管理系统,雇员分为2中,普通员工和管理者,两者工资和工作年限挂钩。具体参见下图:
具体实现参见下面的代码:
/*File : salarySystem.h
*Auth : sjin
*Date : 2014-04-27
*Mail : 413977243@qq.com
*/
#ifnde...
分类:
编程语言 时间:
2014-04-28 10:43:42
阅读次数:
401
Object.prototype.toString & typeof
Object.prototype.toString 获取某个对象属于哪种内置类型
typeof 得到某个对象的类型
区别:
举个例子:
var arr = new Array();
typeof(arr); //object
Object.prototype.toString.call(arr); //[Object Array]...
分类:
其他好文 时间:
2014-04-28 10:33:42
阅读次数:
279
6.2 Python作用域和命名空间
在介绍类之前,首先我想告诉你一些关于python作用域的规则。类的定义非常巧妙地运用了命名空间,你需要知道范围和命名空间的工作原理以能全面了解接下来发生的。 顺便说一下,关于这节讲到的知识对于任何优秀的python程序员非常有用。
让我们开始以一些定义开始。
命名空间(namespace)是一个从名称到对象的映射。大多命名空间目前用Python字典实现的...
分类:
编程语言 时间:
2014-04-28 10:31:42
阅读次数:
309
代理模式的本质:控制对象访问
既然本质是控制对象访问,意思就是在访问者与原始对象之间加一个代理即可
同理,代理模式也可以通过继承原始类来实现,让访问者操作继承类,继承类来控制原始对象的访问
从而实现控制对象访问的目的
何时选用代理模式
1.需要为一个对象在不同的地址空间提供局部(重点)代表的时候,可以使用远程代理
2.需要按照需要创建开销很大的对象的时候,可以使用虚代理(即一个不完整的对象)
3.需要控制对原始对象的访问的时候,可以使用保护代理,上边即保护代理实例
4.需要在访问对象执行一些附加操作的时候,...
分类:
其他好文 时间:
2014-04-28 10:27:41
阅读次数:
253
java5新特性泛型产生的最基本原因是什么,当然后续还有泛型的深入分析...
分类:
编程语言 时间:
2014-04-28 10:25:41
阅读次数:
266
java的String是不可变类。为了提高效率,java为String类提供了String池。
当我们使用形如String s="abc"的代码为字符串赋值时,JVM首先会检查字符串常量池中是否有"abc"这个字符串,如果有就直接将其地址赋给s;若没有,则在Stirng池中创建一个字符串对象“abc”,再将其地址赋给s。...
分类:
编程语言 时间:
2014-04-27 22:48:10
阅读次数:
486
1、思考问题
在某张表中,存在一个id列(整数),用户希望在添加记录的时候,该列从1开始,自动的增长,如何处理?
2、介绍
Oracle通过序列处理自动增长列。
(1) 可以为表中的列自动产生值
(2) 由用户创建数据库对象,并可由多个用户共享。
(3) 一般用于主键或唯一列
(4) 序列也是一种数据对象
3、定义序列
² 格式:
Create sequence 序列名
[...
分类:
数据库 时间:
2014-04-27 22:26:46
阅读次数:
325