mirror of
				https://github.com/godotengine/godot.git
				synced 2025-11-03 23:21:15 +00:00 
			
		
		
		
	
		
			
	
	
		
			49 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			GDScript3
		
	
	
	
	
	
		
		
			
		
	
	
			49 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			GDScript3
		
	
	
	
	
	
| 
								 | 
							
								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_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_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()
							 |