摘要:
由始至终
----构造与析构
作者:holyfire
我们在平时的生活中一般会总结出一些规律,早上起床会刷牙洗脸,晚上会洗澡睡觉,这些都成了惯例。使用瓶装调味品时先将瓶盖打开,用完后将瓶盖盖上。这是一种好习惯。但是有些人不同,他们往往偷懒,一个常常不刷牙不洗脸不洗澡的人会有体味,东西放得乱七八糟的人生房间很不整洁。这些都是我们不希望看到的。当然编程中我们也不希望代码乱七八......
摘要:
java q&a: 使用observer模式
a:我想在自己的java程序中使用observer模式。基于此,能否提供某些示例代码来演示如何去做?
q:正如面向对象编程有助于代码复用一样,设计模式可以促进设计复用。确实,设计模式可以让你复用那些正确的、成熟的设计。但近来,批评设计模式的声音越来越多。批评者指出,缺乏经验的开发者会很容易地掉进 "模式陷阱" 之......
面面俱到----重载(再转)
面面俱到
----重载
作者:holyfire
面面俱到说的是一件事考虑到了很多方面.有的时候我们的一句话适用于很多方面,而这些方面有些类似.比方说加法,加法可以用于,整数与有理数.在c++里可以用两个函数来实现这个目的.
int intadd( int v1 , int v2 )
{
return v1+v2;
}
float floatadd( float v1 , float v2 )
{
return v1+v2;
}
使用的方式是这样的
int ia = 1 , ib = 2 , iab = 0;
float fa = 1.0 , fb = 2.0 , fab = 0.0;
iab = intadd( ia ,ib );
fab = floatadd( fa , fb );
这样看起来很不直观,可读性不强,我们的目的是让人一眼就可以看出是在做相加运算.
聪明的读者可能发现,两个函数的返回值与参数并不一样,这样就可以区别开两个不同的行为.这个特性可不可以利用呢,答案是可以,c++贴心的为我们做好了一切.原理很简单,将函数的返回值与参数用一种可逆的编码方法变成一个字符串,安插在函数名后面,编译器向用户屏蔽这一切,用户可以用同一个名字来使用不同的函数.
就是这样
int add( int v1 , int v2 )
{
return v1+v2;
}
float add( float v1 , float v2 )
{
return v1+v2;
}
int ia = 1 , ib = 2 , iab = 0;
float fa = 1.0 , fb = 2.0 , fab = 0.0;
iab = add( ia ,ib );
fab = add( fa , fb );
哦~~~~,编译通过了,结果也运行无误....
下一页 摘要:
软体样式(design pattern )
之应用
※ 高焕堂
自从1991年以来﹐样式观念和理论逐渐成为物件导向(oo)领域中最热门的话题之一。本文探讨如何使用样式﹐解决软体上的常见问题。
什么是样式?
顾名思意﹐样式是人们遭遇到特定问题时﹐大家惯用的应付方式。样式可用来解决问题﹐而且是有效、可靠的。掌握愈多样式﹐运用愈成熟﹐就愈是杰出的设计专......