mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-27 19:54:27 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			50 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			GDScript
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			GDScript
		
	
	
	
	
	
| @abstract class A:
 | |
| 	@abstract func get_text_1() -> String
 | |
| 	@abstract func get_text_2() -> String
 | |
| 
 | |
| 	# No `UNUSED_PARAMETER` warning.
 | |
| 	@abstract func func_with_param(param: int) -> int
 | |
| 	@abstract func func_with_rest_param(...args: Array) -> int
 | |
| 	@abstract func func_with_semicolon() -> int;
 | |
| 	@abstract func func_1() -> int; @abstract func func_2() -> int
 | |
| 	@abstract func func_without_return_type()
 | |
| 
 | |
| 	func print_text_1() -> void:
 | |
| 		print(get_text_1())
 | |
| 
 | |
| @abstract class B extends A:
 | |
| 	func get_text_1() -> String:
 | |
| 		return "text_1b"
 | |
| 
 | |
| 	func print_text_2() -> void:
 | |
| 		print(get_text_2())
 | |
| 
 | |
| class C extends B:
 | |
| 	func get_text_2() -> String:
 | |
| 		return "text_2c"
 | |
| 
 | |
| 	func func_with_param(param: int) -> int: return param
 | |
| 	func func_with_rest_param(...args: Array) -> int: return args.size()
 | |
| 	func func_with_semicolon() -> int: return 0
 | |
| 	func func_1() -> int: return 0
 | |
| 	func func_2() -> int: return 0
 | |
| 	func func_without_return_type(): pass
 | |
| 
 | |
| @abstract class D extends C:
 | |
| 	@abstract func get_text_1() -> String
 | |
| 
 | |
| 	func get_text_2() -> String:
 | |
| 		return super() + " text_2d"
 | |
| 
 | |
| class E extends D:
 | |
| 	func get_text_1() -> String:
 | |
| 		return "text_1e"
 | |
| 
 | |
| func test():
 | |
| 	var c := C.new()
 | |
| 	c.print_text_1()
 | |
| 	c.print_text_2()
 | |
| 
 | |
| 	var e := E.new()
 | |
| 	e.print_text_1()
 | |
| 	e.print_text_2()
 | 
