首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

为什么用 静态方法去替代 类的 构造函数,该如何处理

2012-01-26 
为什么用 静态方法去替代 类的 构造函数我发现Image类没有显示的给出构造函数,而是用FromFile()这个静态方

为什么用 静态方法去替代 类的 构造函数
我发现Image   类没有显示的给出构造函数,而是用   FromFile()这个静态方法,来实例画对象,为什么呢?
这样做有什么好处?〉

[解决办法]
class FileImage : Image
{
}

abstract class Image
{
public static Image FromFile()
{
return new FileImage();
}
}
[解决办法]
我刚试了一下,FromFile 打开的如果是bmp或ico文件,返回的是Bitmap类,如果打开的是wmf文件,则返回 Metafile 类。
要是完全按设计模式的说法,应该是由一个类厂来实现这个功能,
static class ImageFactory
{
public static Image FromFile(){}
}
MS的实现是将类厂合并到了Image类里,虽然不完全符合规范,但也无不可。
[解决办法]
一般来说,工厂设计模式的Create方法我们就称为工厂方法,而广义的工厂方法就是指创建不同类型对象的方法。

热点排行