Mengekspos pengidentifikasi unit lain melalui unit baru
Terkadang Anda perlu mengekspor ulang dan menampilkan pengidentifikasi dari unit lain di dalam unit baru saat ini. Hasil akhirnya: cukup gunakan unit baru ini, Anda bisa langsung memakai semua pengidentifikasi tersebut.
Skenario Penggunaan:
- Menjaga kompatibilitas dengan versi unit lama dan mempertahankan sintaks pemanggilan lama;
- Mengenkapsulasi unit tingkat dasar internal, menyembunyikan file implementasi dasar dari luar.
Cara Implementasi: Di bagian interface unit saat ini, definisikan ulang pengidentifikasi bernama sama / alias untuk meneruskan tipe dan konstanta dari unit dasar.
Ubah MyUnit.pas
unit MyUnit;
{$ifdef FPC} {$mode objfpc}{$H+}{$J-} {$endif}
interface
uses Graphics;
type
// Cara 1: Buat alias, tampilkan Graphics.TColor ke luar dengan nama TMyColor
TMyColor = TColor;
// Cara 2: Tampilkan dengan nama asli; wajib tambah awalan Graphics. untuk hindari referensi melingkar sendiri
TColor = Graphics.TColor;
const
// Konstanta juga mendukung penerusan eksposur
clYellow = Graphics.clYellow;
clBlue = Graphics.clBlue;
implementation
end.Code language: JavaScript (javascript)
Contoh Lengkap
unit MyUnit;
{$ifdef FPC} {$mode objfpc}{$H+}{$J-} {$endif}
interface
uses Graphics;
type
// 1 Alias tipe Graphics.TColor menjadi TMyColor
TMyColor = TColor;
// 2 Tampilkan nama asli
// gunakan awalan Graphics. cegah referensi melingkar.
TColor = Graphics.TColor;
const
// Konstanta juga bisa diteruskan
clYellow = Graphics.clYellow;
implementation
end.Code language: PHP (php)
Program Utama
program showcolor;
{$ifdef FPC} {$mode objfpc}{$H+}{$J-} {$endif}
uses MyUnit;
var
C1: TMyColor;
C2: TColor;
begin
C1 := clYellow;
C2 := clYellow;
end.
Code language: PHP (php)

Dalam program utama, kita gunakan nama yang didefinisikan ulang di MyUnit.

Previous: Pengidentifikasi dengan Pembatas Unit
Next: Apa itu kelas