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 interface Ai { | 6 abstract class Ai { |
7 int foo(); | 7 int foo(); |
8 } | 8 } |
9 | 9 |
10 interface Bi extends Ai default InterfaceTest { | 10 abstract class Bi implements Ai { |
11 Bi(); | 11 factory Bi() = InterfaceTest; |
12 } | 12 } |
13 | 13 |
14 interface Simple extends Ai { } | 14 abstract class Simple implements Ai { } |
15 | 15 |
16 interface Aai { } | 16 abstract class Aai { } |
17 | 17 |
18 interface Abi { } | 18 abstract class Abi { } |
19 | 19 |
20 interface Bar { } | 20 abstract class Bar { } |
21 | 21 |
22 interface Foo extends Bar { } | 22 abstract class Foo implements Bar { } |
23 | 23 |
24 interface Baz extends 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() { return 1; } | 30 int foo() { return 1; } |
31 | 31 |
32 // intentionally unimplemented methods | 32 // intentionally unimplemented methods |
33 beta(); // Abstract. | 33 beta(); // Abstract. |
34 String beta1(); // Abstract. | 34 String beta1(); // Abstract. |
35 String beta2(double d); // Abstract. | 35 String beta2(double d); // Abstract. |
36 } | 36 } |
37 | 37 |
38 main() { | 38 main() { |
39 // instantiate an abstract class | 39 // instantiate an abstract class |
40 var o = new Bi(); /// 00: static type warning | 40 var o = new Bi(); /// 00: static type warning |
41 } | 41 } |
OLD | NEW |