一直不太明白的一点:类方法有什么作用呢?

DD88 2004-03-23 02:38:23
我不太明白,类方法可以在哪些情况下使用呢?
既然类方法不能以来任何实例信息,那么为什么不把他作为一个单独的过程/函数呢?

大家能举例说说哪些地方可以用到类方法吗?
...全文
462 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunny 2004-03-23
  • 打赏
  • 举报
回复
一般情况下的确使用的不多(constructor除外),但它的确非常有用,在类型引用时使用的特别多!
DD88 2004-03-23
  • 打赏
  • 举报
回复
天啊!
我说的是平时编程序时,什么时候可以用到类方法(最好举例)。
我不是不明白什么叫类方法。
sxy_9761 2004-03-23
  • 打赏
  • 举报
回复
同于C++中的静态成员函数
liuhelin 2004-03-23
  • 打赏
  • 举报
回复
类方法:不用建立类的实例即可以访问.
你天天用的create就是类方法
不需要通过类的实例调用
jemmylau 2004-03-23
  • 打赏
  • 举报
回复
同其他语言中的静态方法,属于类,而不属于类的实例。
DD88 2004-03-23
  • 打赏
  • 举报
回复
to hawksoft(明月清风) :
为什么一个类要自己实例化自己呢?自实例化用于什么方面呢?

不好意思 :) 偶不懂。
广州接入 2004-03-23
  • 打赏
  • 举报
回复
类方法:不用建立类的实例即可以访问.
如类:
TClass,有一个方法:GetName.
一般情况下你必须定义一个实例并实例化:TClass A=TClass.Create;后你才可以引用,即用下面的方法调用:A.GetName.而类方法则不用,可直接调用:TClass.GetName;
hanlin2004(渴死的鱼) 说得.
当然还有一个非常重要的应用.
Type
TClass=Class
private
constuctor Create;
....
public
class function GetInstance : TClass;
end;
constructor Create;
begin
//
end;
class TClass.GetInstance : TClass;
begin
Result := TClass.Create;
...
end;

一个类不让别人实例化自己,而是自己实例化自己.
soaringsouth 2004-03-23
  • 打赏
  • 举报
回复
简而言之,类方法就是不需要实例化类就可以引用的方法
假如classA如此声明:
......
class function A :integer ;
function B:integer ;
......
那么,在程序中:
......
var i:integer ;
ca:classA;
.....
i:= TClassA.A;//正确
i:=TClacca.B;//错误
ca:=TclassA.create(nil);
i:=ca.B;//正确
......

不知道是不是词不达意
DD88 2004-03-23
  • 打赏
  • 举报
回复
to hanlin2004(渴死的鱼):
能否举个例子?这样比较容易理解。
hanlin2004 2004-03-23
  • 打赏
  • 举报
回复
抄一段:

类方法的提出是为了解决单元外访问类的变量,它不能访问独立于对象的数据,但可以作为一个整体而不是特定的对象实例应用与类,类方法只与类有关。

类方法通常用与返回诸如类名等信息,因为这类信息独立于对象实例,是相对固定的。
内容概要:本文围绕基于NSGA-2算法的电-热-气综合需求响应(IDR)在综合能源系统中的多目标优化问题展开研究,提出了一种融合智能优化算法与能源系统协同调度的解决方案。研究系统性地构建了包含电力、热力与天然气多能耦合的综合能源系统模型,设计了以能效提升、运行成本降低和环境效益优化为目标的多目标优化框架,并采用NSGA-2算法求解该复杂非线性优化问题,获得Pareto最优解集。文中详细阐述了IDR机制建模方法、多目标优化问题的数学建模过程以及NSGA-2算法的关键实现步骤,包括编码方式、交叉变异策略与非支配排序机制,并通过Matlab代码实现了完整的仿真验证流程,展示了该方法在平衡多个冲突目标方面的优越性能。; 适合人群:具备电力系统、能源系统建模或优化算法基础的研究生、科研人员及工程技术人员,特别适用于从事综合能源系统规划、需求响应策略设计、多目标进化算法应用等相关领域的研究人员; 使用场景及目标:①应用于综合能源系统的运行优化与规划决策,支持多能互补场景下的协同调度分析;②为科研工作者提供NSGA-2算法在能源系统中实际应用的完整Matlab代码实现范例,助力学术论文复现、算法改进与模型拓展; 阅读建议:建议读者结合文中提供的Matlab代码,按照系统建模、目标函数设计、约束处理到算法实现的研究脉络逐步学习,重点关注Pareto前沿的生成过程、多目标权衡分析及算法参数敏感性,以深入掌握多目标进化算法在复杂能源系统优化中的工程化应用方法

5,943

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧