标题: 类的设计模式问题? [打印本页] 作者: 侯慧杰 时间: 2012-7-8 20:16 标题: 类的设计模式问题? 类的设计模式挺好玩的,除了单例设计模式外,还有工厂设计模式但是什么是工厂设计模式啊??谁能给代码嘛????还有其他的什么设计模式啊????作者: 383105662 时间: 2012-7-8 20:22
要是直接要代码的话不太利于学习,有时候还是多听听毕老师的视频,如果你非要代码的话,可以百度,那上面也有好多代码!!作者: 肖琦 时间: 2012-7-8 23:11
//人类
abstract class Person{
public string name {get;set;}
public abstract void A();
}
//学生类
class Student:Person{
public override void A(){
//执行学生的方法
}
}
//教师类
class Teacher:Person{
public override void A(){
//执行教师的方法
}
}
//工厂类
public static class PersonFactory{
public static Person getPerson(int type){
Person p = null;
if(type==1) p = new Teacher();
else p = new Student();
return p;
}
}
以上代码为手敲版,未进行过编译器检测
工厂模式:利用的是多态,以上只是体现了 父子类的工厂,还有 接口工厂
工厂模式 的方法 返回值是父类(或接口),调此工厂的方法得到一个父类,然后调父类的方法,实现多态,实现思路大概是这样,直观的感觉不到什么优点,要通过项目才能有感觉
(以上写的有所简洁,实际中工厂方法的参数可能不同,道理都是用到里氏替换原则得到父对象)