OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 // Dart test program for testing Interfaces. | 4 // Dart test program for testing Interfaces. |
5 | 5 |
6 abstract class Ai { | 6 abstract class Ai { |
7 int foo(); | 7 int foo(); |
8 } | 8 } |
9 | 9 |
10 abstract class Bi implements Ai { | 10 abstract class Bi implements Ai { |
11 factory Bi() = InterfaceTest; | 11 factory Bi() = InterfaceTest; |
12 } | 12 } |
13 | 13 |
14 abstract class Simple implements Ai {} | 14 abstract class Simple implements Ai { } |
15 | 15 |
16 abstract class Aai {} | 16 abstract class Aai { } |
17 | 17 |
18 abstract class Abi {} | 18 abstract class Abi { } |
19 | 19 |
20 abstract class Bar {} | 20 abstract class Bar { } |
21 | 21 |
22 abstract class Foo implements Bar {} | 22 abstract class Foo implements Bar { } |
23 | 23 |
24 abstract class Baz implements Bar, Foo {} | 24 abstract class Baz implements Bar, Foo { } |
25 | 25 |
26 class InterfaceTest implements Ai, Aai, Abi, Baz, Bi { | 26 class InterfaceTest implements Ai, Aai, Abi, Baz, Bi { |
27 var f; | 27 var f; |
28 | 28 |
29 InterfaceTest() {} | 29 InterfaceTest() {} |
30 int foo() { | 30 int foo() { return 1; } |
31 return 1; | |
32 } | |
33 | 31 |
34 // intentionally unimplemented methods | 32 // intentionally unimplemented methods |
35 beta(); // Abstract. | 33 beta(); // Abstract. |
36 String beta1(); // Abstract. | 34 String beta1(); // Abstract. |
37 String beta2(double d); // Abstract. | 35 String beta2(double d); // Abstract. |
38 } | 36 } |
39 | 37 |
40 main() { | 38 main() { |
41 // instantiate an abstract class | 39 // instantiate an abstract class |
42 var o = new Bi(); //# 00: static type warning | 40 var o = new Bi(); //# 00: static type warning |
43 } | 41 } |
OLD | NEW |