mirror of
https://github.com/godotengine/godot.git
synced 2025-10-26 03:04:31 +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()
|