Override function in nested class

Ary Manzana ary at esperanto.org.ar
Mon Aug 6 03:17:35 PDT 2007


Karl escribió:
> Karl Wrote:
> 
>> Hi,
>>
>> How to: Override a function in a static nested class?
>>
>> Example:
>>
>> class myclass1
>> {
>>
>> }
> 
> Sorry, i pressed the tab and enter to indent a line and posted, here's the example:
> 
> class myclass1
> {
>         static class myclass2
>         {
>                   void hello(){}
>          }
> }
> 
> how do i override the hello function from a class inherited from myclass1?
> 
> thanks

You can extend the static class:

class child2 : myclass1.myclass2 {

	override void hello() {
		writefln("Saluton!");
	}

}

or you can extend both:

class child1 : myclass1 {
	
	static class child2 : myclass1.myclass2 {
		
		override void hello() {
			writefln("Saluton!");
		}
		
	}
	
}

But you cannot just override the "hello" of myclass2 just by extending 
myclass1. Just as you cannot override static methods.


More information about the Digitalmars-d-learn mailing list