Re: [Vala] Abstract properties in Concrete Class



On Wed, Jun 09, 2010 at 10:25:37PM -0400, tecywiz121 wrote:
Hello again,

This is the second snippet I was curious about.

Basically, valac should not allow the following code to compile since
IMHO, its completely wrong.

Just checking whether I should file a bug report or not.

------------------------------------

public class TestClass
{
      public abstract bool test_prop { get; set; }
}

public static int main(string[] args)
{
      TestClass tc = new TestClass();
      
      bool test = tc.test_prop;
      
      stdout.printf("%s\n", test ? "TRUE" : "FALSE");
      return 0;
}


Given class TestSubclass : TestClass overriding test_prop:

TestClass tc = new TestSubclass();
bool test = tc.test_prop;

It's completely right.

You might want to make TestClass an abstract class to not instantiate it,
but problems come on runtime and it's not a compiler failure if you don't
override the property.

-- 
http://www.debian.org - The Universal Operating System

Attachment: signature.asc
Description: Digital signature



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]