Fichiers externes
Fait partie de la section Programmation orientée objet du Journey GDScript de Coddy. Leçon 1 sur 65.
Les programmes réels sont répartis en plusieurs fichiers. Chaque fichier .gd est un script, et un script peut en utiliser un autre.
Écris class_name en haut d’un script pour lui donner un nom global. Tous les autres scripts du projet peuvent alors utiliser ce nom directement, sans ligne d’importation :
# greeter.gd
class_name Greeter
extends RefCounted
static func greet(player_name: String) -> String:
return "Hello, " + player_name + "!"static func crée une fonction que tu appelles via le nom du script, Greeter.greet("Ada"). extends RefCounted est la classe de base simple pour les scripts qui ne sont pas des nœuds ; les prochaines leçons l’expliqueront.
# main.gd
extends Node
func _ready():
print(Greeter.greet("Ada")) # Hello, Ada!Le programme démarre toujours dans _ready() de main.gd. Les autres fichiers ne font que définir des éléments utilisés par main.gd.
Godot nomme les fichiers en snake_case et le class_name en PascalCase : class_name Greeter se trouve dans greeter.gd. Garde une classe par fichier.
Un script sans class_name peut être chargé à partir de son chemin avec preload() :
const Helpers = preload("res://helpers.gd")
func _ready():
print(Helpers.shout("hi")) # HI!Défi
FacileÉcris la fonction statique greet dans greeter.gd. Elle prend un nom de joueur et renvoie Hello, NAME!. Lorsque le nom est vide, elle renvoie Hello, friend!.
Le code fourni lit le nombre de noms qui suivent, puis affiche Greeter.greet() pour chacun d’eux. Pour les noms Ada et une ligne vide, il affiche :
Hello, Ada!
Hello, friend!Ton code doit se trouver dans greeter.gd. main.gd contient le code d’entrée/sortie fourni et ne peut pas être modifié.
Essayez vous-même
extends Node
func _ready():
# Code d’entrée/sortie fourni : conservez-le tel quel
var count := int(OS.read_string_from_stdin())
for i in count:
print(Greeter.greet(OS.read_string_from_stdin()))
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Programmation orientée objet
1Fondamentaux de la POO
Fichiers externesIntroduction à la POOClasses et objetsLe mot-clé selfMéthodesPropriétésConstructeur (_init)Récapitulatif - Calculatrice simple4Polymorphisme
Retour sur la redéfinition des méthodesTypage canardClasses et méthodes abstraitesConception d’interfacesRécapitulatif – Calculateur de formes7Signaux
Qu’est-ce qu’un signal ?Déclarer et émettreSe connecter aux signauxSignaux avec argumentsRécapitulatif - système de santé10Patrons de conception, partie 2
Patron CommandePatron AdaptateurPatron DécorateurPatron Méthode modèlePatron ÉtatPatron Composite2Propriétés de classe
Variables d’instance et variables statiquesFonctions statiquesSetters de propriétésGetters de propriétésPrivé par conventionRécapitulatif - Gestionnaire de comptes bancaires5Encapsulation
Membres publics et privésValidation avec les méthodes setterMasquage de l’informationPropriétés en lecture seuleRécapitulatif - Système de dossiers étudiants8Concepts avancés de la POO
Composition ou héritageClasses internesLes nœuds comme composantsRefCounted ou NodeEnums dans les classes3Héritage
Héritage de baseLe mot-clé superRedéfinition de méthodesChaînes d’héritageVérifier les types avec isRécapitulatif – Hiérarchie des employés6Méthodes spéciales
Introduction aux méthodes virtuellesLa méthode _to_stringItérateurs personnalisésRécapitulatif – Liste personnalisée9Patrons de conception, partie 1
Introduction aux patrons de conceptionPatron SingletonPatron FactoryPatron ObserverPatron StrategyEntraînez-vous par vous-même : Compilateur GDScript en ligne