1. 程式人生 > >Delphi系列談之:Delphi中的靜態屬性及靜態方法的實現

Delphi系列談之:Delphi中的靜態屬性及靜態方法的實現

    在學習Delphi時常有些心得,在此寫出來,供大家參考,如有錯誤或不妥之處還望指教.

    使用過c++的人都知道在c++的類中有靜態屬性及靜態方法,為程式設計帶來很多方便.那麼在Delphi中靜態屬性及靜態方法是怎麼實現的呢?請看下面的例項:

unit Unit2;

interface

type
  TMyClass = Class
  public
    {靜態過程:設定靜態屬性的值}
    class procedure SetStaticMemberValue(AString: string);
    {靜態函式:讀取靜態屬性的值}
    class function GetStaticMemberValue: string;
  end;

implementation
{在此宣告靜態屬性,這一點與c++有很大的不同}
var
  AStaticMember: string;

class function TMyClass.GetStaticMemberValue: string;
begin
  Result := AStaticMember;
end;

class procedure TMyClass.SetStaticMemberValue(AString: string);
begin
  AStaticMember := AString;
end;

end.

    那麼在TMyClass中宣告的屬性及方法是否是靜態屬性或靜態方法呢?請看下面的例項:

...
uses unit2
...

procedure TForm1.Button2Click(Sender: TObject);
begin
  {不需宣告TMyClass的例項,可直接設定及讀取靜態屬性的值}
  TMyClass.SetStaticMemberValue('MyClass');
  showmessage(TMyClass.GetStaticMemberValue);
end;

相關推薦

Delphi系列談:Delphi靜態屬性靜態方法實現

    在學習Delphi時常有些心得,在此寫出來,供大家參考,如有錯誤或不妥之處還望指教.     使用過c++的人都知道在c++的類中有靜態屬性及靜態方法,為程式設計帶來很多方便.那麼在Delphi中靜態屬性及靜態方法是怎麼實現的呢?請看下面的例項: unit Unit2

Delphi類的靜態屬性方法

Because Delphi not provide static member for our using, so if you want a static member of class in Delphi what should I do ? Ok! At leas

Delphi和C++builder的MessageBox相近的四種訊息框

       Delphi中平常使用的訊息框有四種形式,有ShowMessage、MessageDlg、Application.MessageBox、MessageBox。下面來深入瞭解下這四種形式的實現和使用。1.ShowMess

Delphi 遍歷類屬性

unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,TypInfo; t

php常量 const屬性靜態屬性靜態的函數方法

tco 屬性 japan public elf cti 變量名 pub define <?php//php中的常量define(‘MYNUM‘, 2000);echo MYNUM.‘<br>‘;if(!defined(‘MYNUM‘)){ defin

知識總結form表單屬性H5新增特性

bsp ron mit 驗證 pick -s value 地址欄 屬性 一、form的幾大屬性   1.method屬性     規定用於發送 form-data 的 HTTP 方法,即請求的方式;主要用來提交參數與後臺數據進行交互。     分為GET和POST兩種方式,

(持續更新)瀏覽器兼容性總結—前端開發常用屬性api

ott 內置 事件 move min-width line 顏色漸變效果 瀏覽器兼容性 :hover max-width,min-width ie7以上支持 rgba 只支持ie9及以上瀏覽器,ie8要用濾鏡處理 border-radius 也只支持ie9以上 不需

java靜態屬性靜態方法

person pri 技術分享 周期 銷毀 out 方法 class 屬性的區別 前言 靜態屬性和方法必須用static修飾符 靜態屬性和非靜態屬性的區別: 1、在內存中存放位置不同 所有帶static修飾符的屬性或者方法都存放在內存中的方法區 而非靜態屬性存放在內存

php面向對象static靜態屬性靜態方法的調用

style 存放位置 需要 5.4 color UNC size 只有一個 面向對象 關於它們的調用(能不能調用,怎麽樣調用),需要弄明白了他們在內存中存放位置,這樣就非常容易理解了。靜態屬性、方法(包括靜態與非靜態)在內存中,只有一個位置(而非靜態屬性,有多少實例化對象,

《隨筆七》——C#的 “ 屬性靜態屬性

目錄 屬性 使用屬性 利用 set 和 get  訪問器 執行其它運算 只讀和只寫屬性 屬性和公共欄位 自動實現屬性 靜態屬性 屬性 ●   屬性是代表類的例項或類中的一個數據項的成員。屬性指的是一組兩個匹配的、稱為訪

JavaStatic Class靜態內部類和非靜態內部類與靜態導包

上次有朋友問我,java中的類可以是static嗎?我給他肯定的回答是可以的,在java中我們可以有靜態例項變數、靜態方法、靜態塊。當然類也可以是靜態的,下面小編整理了些關於java中的static class相關資料分享在指令碼之家平臺供大家參考 java中的類可以是

淺談CSSmargin的屬性使用方法

想修改一下子自己的CSS,因為部落格標題正好把網頁圖片上的文字正好檔了一部分,看起來很不爽。最後確實是由“margin命令”來控制的,於是上網學習了一下子這個的用法。margin在中文中我們翻譯成外邊距或者外補白(本文中引用外邊距)。他是元素盒模型(box model)的基礎

深入理解cssposition屬性z-index屬性

在網頁設計中,position屬性的使用是非常重要的。有時如果不能認識清楚這個屬性,將會給我們帶來很多意想不到的困難。  position屬性共有四種不同的定位方法,分別是static、fixed、relative、absolute,sticky。最後將會介紹和positio

Java類靜態屬性靜態程式碼塊塊、非靜態屬性、非靜態程式碼塊塊、建構函式在初始化時的執行順序

序言   前幾天在複習J2SE的時候,看到了這個Java類在new的過程中,靜態域、靜態塊、非靜態域、非靜態塊、建構函式的執行順序問題。就想著自己總結寫一下,便於以後查閱總結:    以下是我整理好的結果;在java類new一個物件的過程中,它們的執行順序如下:     (當

jQuery UIdialog屬性的詳解

<!-- 基礎類庫 --> <SCRIPT type="text/javascript" src="js/jquery-1.4.4.min.js"></SCRIPT>

Java靜態屬性靜態方法繼承重寫的那點破事

public class A { public static String staticStr = "A's static field"; public String nonStaticStr = "A's nonstatic field"

AndroidManifest.xml常用屬性含義

一、 關於AndroidManifest.xml       AndroidManifest.xml 是每個android程式中必須的檔案。它位於整個專案的根目錄,描述了package中暴露的元件(activities, services, 等等),他們各自的實現類,各

html標籤lang屬性xml:lang屬性的作用

zh-CN 中文 (簡體, 中國大陸) 對應 cmn-Hans-CN 普通話 (簡體, 中國大陸) zh-SG 中文 (簡體, 新加坡) 對應 cmn-Hans-SG 普通話 (簡體, 新加坡) zh-HK 中文 (繁體, 香港) 對應 cmn-Hant-HK 普通話 (繁體

php 靜態屬性靜態變量

屬性 9.png http 變量 ima image 靜態 blog 靜態屬性 php 靜態屬性和靜態變量

javascript字符串屬性常用方法總結

ring 方法總結 search lower 指定 you 數組 參數 world length屬性:str.length; 常用方法: 1. str.charAt(n) 查找字符串中的第n個字符,如果不在0~str.length-1之間,則返回一個空字符串 2 .st