设计模式(C++) 练习1 简单工厂模式

本文介绍了设计模式中的简单工厂模式,并通过两个具体实例——水果农场生产和女娲造人——来阐述其应用。在练习1中,讨论了如何用简单工厂模式设计一个种植和销售不同水果的农场系统,考虑了不同水果的特性和生命周期。在练习2中,利用该模式模拟女娲用黄土创造个体的过程,展示了如何灵活创建不同人物角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

设计模式(C++) 练习1 简单工厂模式

Design Patterns(C++) Exercise 1:Easy Factory Model

Exercise 1.1

一个农场专门负责种植各种水果,比如苹果、草莓、葡萄等,任何水果都可以种植、生长和采摘.此外,每一种水果还有自己的特性,如:苹果是多年生具有树龄的属性,葡萄则分为有籽或无籽等。农场生产的水果都送入超市进行销售。请采用简单工厂模式对上述问题进行建模,要求画出类图并使用C++语言编写程序。
1-1-EasyFactory1-Gardener.png

/** 
 *	@author 墨晓柯
 */
 
#include<iostream>

#define interface class

using namespace std;

interface IFruit {
   
   
public: 
	virtual void plant() = 0; 
	virtual void grow() = 0; 
	virtual void harvest() = 0;
}; 

class Apple : public IFruit{
   
   
private:
	int treeAge;
public:	
	void setTreeAge(int aTreeAge) {
   
   
		treeAge = aTreeAge;
	} 
	int getTreeAge() {
   
   
		return treeAge;
	}
	void plant() {
   
    
		cout << "Apple planted!" << endl;
	}
	void grow() {
   
    
		cout << "Apple growing!" << endl;
	}
	void harvest() {
   
   
		cout << "Apple harvested!" << endl;
	}	
};

class Strawberry : public IFruit {
   
   
public:
	void plant() {
   
   
		cout << "Strawberry planted!" << endl;
	}
	voi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值