MM生成的一个类,

原创 2005年02月26日 02:46:00

原贴见:http://community.csdn.net/Expert/topic/3793/3793756.xml
这里的是他的MM图,有MM的可以导进去看看。



代码 pro3.pas
unit pro3;

interface

uses
 SysUtils,Dialogs,Contnrs;

type
  TProduct = class(TObject)
  private
    FName: string;
    FPrice: Double;
    function GetName: string;
    function GetPrice: Double;
    procedure SetName(const Value: string);
    procedure SetPrice(Value: Double);
  public
    constructor Create; overload;
    procedure SayHello; virtual;
    property Name: string read GetName write SetName;
    property Price: Double read GetPrice write SetPrice;
  end;
 
  TProductXY = class(TProduct)
  public
    procedure SayHello; overload;
  end;
 
  TProductZY = class(TProduct)
  public
    procedure SayHello; overload;
  end;
 
  TStore = class(TObject)
  private
    FProductList: TObjectList;
    function GetProductList: TObjectList;
  public
    constructor Create;
    destructor Destroy; override;
    procedure AddProduct(aProduct:TProduct);
    property ProductList: TObjectList read GetProductList;
  end;
 

implementation

{
*********************************** TProduct ***********************************
}
constructor TProduct.Create;
begin
   FName:='商品TProduct';
  FPrice:=0;
  ShowMessage('商品被创建');
end;

function TProduct.GetName: string;
begin
  Result:=FName;
end;

function TProduct.GetPrice: Double;
begin
  Result:=FPrice;
end;

procedure TProduct.SayHello;
begin
end;

procedure TProduct.SetName(const Value: string);
begin
  if FName<>Value then
     FName:=Value
  else
     ;
end;

procedure TProduct.SetPrice(Value: Double);
begin
  If Value>0 then
     FPrice:=Value
  else
     FPrice:=0;
end;

{
********************************** TProductXY **********************************
}
procedure TProductXY.SayHello;
begin
  ShowMessage('我是西药,我的名字是'+Name+'单价:'+FloattoStr(Price));
end;

{
********************************** TProductZY **********************************
}
procedure TProductZY.SayHello;
begin
  ShowMessage('我是中药,我的名字是'+Name+'单价:'+FloattoStr(Price));
end;

{
************************************ TStore ************************************
}
constructor TStore.Create;
begin
  FProductList:=TObjectList.Create();
  FProductList.OwnsObjects := True;  //使FProductList在销毁时自动销毁其下拥有的对象
end;

destructor TStore.Destroy;
begin
  FProductList.Free;
  inherited Destroy;
end;

procedure TStore.AddProduct(aProduct:TProduct);
begin
  FProductList.Add(aProduct);
  ShowMessage(aProduct.Name+'被加入');
end;

function TStore.GetProductList: TObjectList;
begin
  Result:=FProductList;
end;


end.

Linux mm相关的问题

记录对内存管理上的一些疑惑
  • RichardYSteven
  • RichardYSteven
  • 2015年07月04日 09:09
  • 1008

利用mm命令编译Android模块

在Android开发过程中,当我们只需要编译某个修改过的模块时,使用mm命令可以使你不用编译整个Android项目,而只需单独编译该模块即可,这样速度是不是很快呢?具体的步骤如下: 1. 在An...
  • u010406724
  • u010406724
  • 2014年03月17日 11:51
  • 981

72 题目:设计一个类,我们只能生成该类的一个实例

/* 72. 题目:设计一个类,我们只能生成该类的一个实例。 分析:只能生成一个实例的类是实现了Singleton 模式的类型。 1.为了防止从类的外部调用构造函数,产生类的新的实例,我们应该把该类...
  • u012605629
  • u012605629
  • 2014年10月16日 22:23
  • 477

Android源码mm模块编译 & mm编译apk

1.  修改内核以后,不用每次都去make编译,只需mm对模块进行编译就可以。 在Android目录下运行 $ . build/envsetup.sh 或者 $ source build/env...
  • white__cat
  • white__cat
  • 2014年12月06日 17:41
  • 1247

C++ 设计一个类,只能生成一个对象

#include using namespace std;class singleton { public: static singleton* getpsin() { ...
  • xjd34456
  • xjd34456
  • 2016年05月04日 16:12
  • 248

设计一个类,我们只能生成该类的一个实例。

单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。 从具体实现角度来说,就是以下三点:一是单例模式的类只提供私有的构造函数,二是类定义中...
  • youngyoungla
  • youngyoungla
  • 2016年06月12日 12:47
  • 1594

多线程对同一个类操作时注意的问题

今天看到一段很有意思的小程序,讲述了线程之间调用同一个类属性的例子: 线程1: public class MyThreadClass1 implements Runnable { public...
  • niuxinzan
  • niuxinzan
  • 2014年02月26日 16:25
  • 835

将输入的秒转换成DDD:HH:MM:SS格式 机考题的两种写法

@Test public void hwDateFormat() throws ParseException{ String sec="13419006"; Format f0 = ...
  • u013109719
  • u013109719
  • 2014年03月23日 23:55
  • 1256

设计一个类,只能生成该类的一个实例

只能生成一个实例的类是实现了Singleton(单例)模式的类型。 解题思路:根据题目的要求,1.必须把构造函数设为私有函数,防止他人创建实例。 2.在类中创建静态私有的实例,在需要时创建该实例,...
  • qingcunsuiyue
  • qingcunsuiyue
  • 2017年01月05日 23:34
  • 791

设计一个类只能生成该类的一个实例

class Singleton { public: Singleton() { if (_count == 0) { cout
  • fjhfjhfjh123
  • fjhfjhfjh123
  • 2016年06月23日 15:58
  • 190
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MM生成的一个类,
举报原因:
原因补充:

(最多只允许输入30个字)