1/* 2 * Copyright (c) 2023-2025 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16class C { 17 public static foo: int = 10 18 public foo: int = 20 19} 20 21class D extends C { 22 public static foo: int = 30 23 public foo: int = 40 24} 25 26class E { 27 public static foo: int = 50 28} 29 30class F extends E { 31 public foo: int = 60 32} 33 34class G { 35 public foo: int = 70 36} 37 38class H extends G { 39 public static foo: int = 80 40} 41 42function main(): void { 43 assertEQ(C.foo, 10) 44 assertEQ(new C().foo, 20) 45 assertEQ(D.foo, 30) 46 assertEQ(new D().foo, 40) 47 assertEQ(F.foo, 50) 48 assertEQ(new F().foo, 60) 49 assertEQ(H.foo, 80) 50 assertEQ(new H().foo, 70) 51} 52