zoukankan      html  css  js  c++  java
  • 理解 Delphi 的类(十一) 深入类中的方法[5] 静态方法、类方法、静态类方法

    //静态方法是默认的, 如果不是虚方法或纯虚方法, 那它就是一个静态方法.
    
    //类方法就是通过类名就可以访问的方法 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); end; {类方法示例:} TMyClass = class(TObject) class procedure alert(s: string); {类方法只是比静态方法多了一个 class 指示字} end; { 类方法不能在 private 和 protected 区; 类方法不能是虚方法; 类方法只能使用类中的、在对象实例化以前的数据. } var Form1: TForm1; implementation {$R *.dfm} { TMyClass } class procedure TMyClass.alert(s: string); begin ShowMessage(s); end; {类方法可以直接使用} procedure TForm1.Button1Click(Sender: TObject); begin TMyClass.alert('万一'); {万一} end; {类的对象当然也能使用} procedure TForm1.Button2Click(Sender: TObject); var MyClass: TMyClass; begin MyClass := TMyClass.Create; MyClass.alert('万一'); {万一} MyClass.Free; end; end.
    //静态类方法 {现在的 Delphi 不仅仅有类方法, 同时有: 类变量: class var 类常量: class const 类类型: class type 类属性: class property 静态类方法就是给类属性来调用的, 它可以存在与私有区(private), 譬如下面的 SetName 就是一个静态类方法: } TMyClass = class(TObject) private class var FName: string; class procedure SetName(const Value: string); static; {静态类方法又多了一个 static 指示字} published class property Name: string read FName write SetName; end;
  • 相关阅读:
    朴素贝叶斯估计
    k临近法的实现:kd树
    感知机学习算法
    Logistic回归的牛顿法及DFP、BFGS拟牛顿法求解
    Logistic回归
    线性回归的梯度下降和正规方程组求解
    Redis学习笔记(8)-发布/订阅
    Redis学习笔记(7)-事务
    Redis学习笔记(6)-SortedSet
    Redis学习笔记(5)-Set
  • 原文地址:https://www.cnblogs.com/del/p/1041625.html
Copyright © 2011-2022 走看看