File esterni
Fa parte della sezione Programmazione orientata agli oggetti del percorso GDScript di Coddy. Lezione 1 di 65.
I programmi reali sono suddivisi in diversi file. Ogni file .gd è uno script e uno script può usarne un altro.
Scrivi class_name all'inizio di uno script per assegnargli un nome globale. Ogni altro script del progetto può quindi usare direttamente quel nome, senza una riga di importazione:
# greeter.gd
class_name Greeter
extends RefCounted
static func greet(player_name: String) -> String:
return "Hello, " + player_name + "!"static func crea una funzione che chiami tramite il nome dello script, Greeter.greet("Ada"). extends RefCounted è la classe base semplice per gli script che non sono nodi; le lezioni successive lo spiegano.
# main.gd
extends Node
func _ready():
print(Greeter.greet("Ada")) # Hello, Ada!Il programma viene ancora avviato in _ready() di main.gd. Gli altri file definiscono solo elementi usati da main.gd.
Godot assegna ai file nomi in snake_case e a class_name nomi in PascalCase: class_name Greeter si trova in greeter.gd. Mantieni una classe per file.
Uno script senza class_name può essere caricato tramite il suo percorso con preload():
const Helpers = preload("res://helpers.gd")
func _ready():
print(Helpers.shout("hi")) # HI!Sfida
FacileScrivi la funzione statica greet in greeter.gd. Prende il nome di un giocatore e restituisce Hello, NAME!. Quando il nome è vuoto, restituisce Hello, friend!.
Il codice fornito legge quanti nomi seguono, poi stampa Greeter.greet() per ciascuno. Per i nomi Ada e una riga vuota, stampa:
Hello, Ada!
Hello, friend!Il tuo codice va in greeter.gd. main.gd contiene il codice di input/output fornito e non può essere modificato.
Provalo tu
extends Node
func _ready():
# Código de entrada/salida proporcionado: mantenlo tal como está
var count := int(OS.read_string_from_stdin())
for i in count:
print(Greeter.greet(OS.read_string_from_stdin()))
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Programmazione orientata agli oggetti
1Fondamenti della programmazione orientata agli oggetti
File esterniIntroduzione alla programmazione orientata agli oggettiClassi e oggetti a confrontoLa parola chiave selfMetodiProprietàCostruttore (_init)Riepilogo - Calcolatrice semplice4Polimorfismo
Ripasso dell'override dei metodiDuck typingClassi e metodi astrattiProgettazione delle interfacceRiepilogo - Calcolatore di forme7Segnali
Che cos'è un segnale?Dichiarare ed emettereCollegarsi ai segnaliSegnali con argomentiRipasso - Sistema della salute10Pattern di progettazione, parte 2
Pattern CommandPattern AdapterPattern DecoratorPattern Template MethodPattern StatePattern Composite2Proprietà delle classi
Variabili di istanza e staticheFunzioni staticheSetter delle proprietàGetter delle proprietàPrivato per convenzioneRiepilogo - Gestore di conti bancari5Incapsulamento
Membri pubblici e privatiValidazione con i setterNascondimento delle informazioniProprietà di sola letturaRiepilogo - Sistema di gestione dei dati degli studenti8Concetti avanzati di OOP
Composizione vs ereditarietàClassi interneNodi come componentiRefCounted vs NodeEnum nelle classi11Progetto: Gestione della biblioteca
Panoramica del progettoClassi Libro e Utente3Ereditarietà
Ereditarietà di baseLa parola chiave superOverride dei metodiCatene di ereditarietàControlli di tipo con isRipasso - Gerarchia dei dipendenti6Metodi speciali
Introduzione ai metodi virtualiIl metodo _to_stringIteratori personalizzatiRiepilogo - Lista personalizzata9Modelli di progettazione, parte 1
Introduzione ai modelli di progettazionePattern SingletonPattern FactoryPattern ObserverPattern StrategyEsercitati da solo: Compilatore GDScript online