File Eksternal
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan GDScript di Coddy. Pelajaran 1 dari 65.
Program nyata dibagi menjadi beberapa file. Setiap file .gd adalah skrip, dan satu skrip dapat menggunakan skrip lainnya.
Tulis class_name di bagian atas skrip untuk memberinya nama global. Semua skrip lain di proyek dapat langsung menggunakan nama itu, tanpa baris import:
# greeter.gd
class_name Greeter
extends RefCounted
static func greet(player_name: String) -> String:
return "Hello, " + player_name + "!"static func membuat fungsi yang kamu panggil melalui nama skrip, Greeter.greet("Ada"). extends RefCounted adalah basis sederhana untuk skrip yang bukan node; pelajaran berikutnya akan menjelaskannya.
# main.gd
extends Node
func _ready():
print(Greeter.greet("Ada")) # Hello, Ada!Program tetap dimulai di _ready() pada main.gd. File lainnya hanya mendefinisikan hal-hal yang digunakan oleh main.gd.
Godot memberi nama file dengan snake_case dan class_name dengan PascalCase: class_name Greeter berada di greeter.gd. Simpan satu class di setiap file.
Skrip tanpa class_name dapat dimuat berdasarkan jalurnya dengan preload():
const Helpers = preload("res://helpers.gd")
func _ready():
print(Helpers.shout("hi")) # HI!Tantangan
MudahTulis fungsi static greet di greeter.gd. Fungsi ini menerima nama pemain dan mengembalikan Hello, NAME!. Jika namanya kosong, fungsi ini mengembalikan Hello, friend!.
Kode yang disediakan membaca jumlah nama yang menyusul, lalu mencetak Greeter.greet() untuk setiap nama. Untuk nama Ada dan satu baris kosong, kode ini mencetak:
Hello, Ada!
Hello, friend!Tuliskan kodemu di greeter.gd. main.gd berisi kode input/output yang disediakan dan tidak dapat diedit.
Coba sendiri
extends Node
func _ready():
# Kode input/output yang disediakan: biarkan apa adanya
var count := int(OS.read_string_from_stdin())
for i in count:
print(Greeter.greet(OS.read_string_from_stdin()))
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Pemrograman Berorientasi Objek
1Dasar-Dasar OOP
File EksternalPengantar OOPclass dan objectKata Kunci selfmethodpropertyKonstruktor (_init)Ringkasan: Kalkulator Sederhana4Polimorfisme
Method Overriding Sekali LagiDuck TypingKelas Abstrak dan MethodDesain InterfaceRingkasan: Kalkulator Bentuk7Sinyal
Apa itu Sinyal?Mendeklarasikan dan MemancarkanMenghubungkan ke SinyalSinyal dengan ArgumenRangkuman, Sistem Kesehatan10Pola Desain Bagian 2
Pola CommandPola AdapterPola DecoratorPola Template MethodPola StatePola Composite2Property class
Variabel instance vs. variabel statisFungsi statisSetter propertyGetter propertyPrivat berdasarkan konvensiRangkuman: Pengelola Rekening Bank5Enkapsulasi
Member Publik dan PrivatValidasi dengan SetterPenyembunyian InformasiProperty Hanya-BacaRingkasan: Sistem Catatan Siswa8Konsep OOP Lanjutan
Komposisi vs PewarisanInner ClassNode sebagai KomponenRefCounted vs NodeEnum dalam Class11Proyek: Manajemen Perpustakaan
Gambaran Umum Proyekclass Buku dan PenggunaLatihan sendiri: Compiler GDScript online