xref: /arkcompiler/ets_frontend/ets2panda/linter/docs/rules/recipe104.md
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /arkcompiler/ets_frontend/ets2panda/linter/docs/rules/
13af6ab5fSopenharmony_ci#  Interfaces cannot extend classes
23af6ab5fSopenharmony_ci
33af6ab5fSopenharmony_ciRule ``arkts-extends-only-class``
43af6ab5fSopenharmony_ci
53af6ab5fSopenharmony_ci**Severity: error**
63af6ab5fSopenharmony_ci
73af6ab5fSopenharmony_ciArkTS does not support interfaces that extend classes. Interfaces can extend
83af6ab5fSopenharmony_cionly interfaces.
93af6ab5fSopenharmony_ci
103af6ab5fSopenharmony_ci
113af6ab5fSopenharmony_ci## TypeScript
123af6ab5fSopenharmony_ci
133af6ab5fSopenharmony_ci
143af6ab5fSopenharmony_ci```
153af6ab5fSopenharmony_ci
163af6ab5fSopenharmony_ci    class Control {
173af6ab5fSopenharmony_ci        state: number = 0
183af6ab5fSopenharmony_ci    }
193af6ab5fSopenharmony_ci
203af6ab5fSopenharmony_ci    interface SelectableControl extends Control {
213af6ab5fSopenharmony_ci        select(): void
223af6ab5fSopenharmony_ci    }
233af6ab5fSopenharmony_ci
243af6ab5fSopenharmony_ci```
253af6ab5fSopenharmony_ci
263af6ab5fSopenharmony_ci## ArkTS
273af6ab5fSopenharmony_ci
283af6ab5fSopenharmony_ci
293af6ab5fSopenharmony_ci```
303af6ab5fSopenharmony_ci
313af6ab5fSopenharmony_ci    interface Control {
323af6ab5fSopenharmony_ci        state: number
333af6ab5fSopenharmony_ci    }
343af6ab5fSopenharmony_ci
353af6ab5fSopenharmony_ci    interface SelectableControl extends Control {
363af6ab5fSopenharmony_ci        select(): void
373af6ab5fSopenharmony_ci    }
383af6ab5fSopenharmony_ci
393af6ab5fSopenharmony_ci```
403af6ab5fSopenharmony_ci
413af6ab5fSopenharmony_ci
42

Indexes created Thu Nov 07 10:32:03 CST 2024