Vala Reference Manual

Interfaces

Interfaces can be implemented by classes to provide functionality with a common interface. Each class can implement multiple interface and interfaces can require other interfaces to be implemented.

Interface declarations

		public interface InterfaceName : RequiredInterface <optional>
		{
			<interface members>
		}
		

Methods

Interfaces can contain abstract and non abstract methods.

		public abstract void MethodName ();
		public void MethodName2 ()
		{
			<Implementation>
		}
		

Delegates

Interfaces can also contain delegates

		public delegate void DelegateName (void* data);
		

Signals

Signals are also supported by interfaces

		public signal void SignalName ();