13af6ab5fSopenharmony_ci#  Use inheritance instead of intersection types
23af6ab5fSopenharmony_ci
33af6ab5fSopenharmony_ciRule ``arkts-no-intersection-types``
43af6ab5fSopenharmony_ci
53af6ab5fSopenharmony_ci**Severity: error**
63af6ab5fSopenharmony_ci
73af6ab5fSopenharmony_ciCurrently, ArkTS does not support intersection types. Use inheritance
83af6ab5fSopenharmony_cias a workaround.
93af6ab5fSopenharmony_ci
103af6ab5fSopenharmony_ci
113af6ab5fSopenharmony_ci## TypeScript
123af6ab5fSopenharmony_ci
133af6ab5fSopenharmony_ci
143af6ab5fSopenharmony_ci```
153af6ab5fSopenharmony_ci
163af6ab5fSopenharmony_ci    interface Identity {
173af6ab5fSopenharmony_ci        id: number
183af6ab5fSopenharmony_ci        name: string
193af6ab5fSopenharmony_ci    }
203af6ab5fSopenharmony_ci
213af6ab5fSopenharmony_ci    interface Contact {
223af6ab5fSopenharmony_ci        email: string
233af6ab5fSopenharmony_ci        phoneNumber: string
243af6ab5fSopenharmony_ci    }
253af6ab5fSopenharmony_ci
263af6ab5fSopenharmony_ci    type Employee = Identity & Contact
273af6ab5fSopenharmony_ci
283af6ab5fSopenharmony_ci```
293af6ab5fSopenharmony_ci
303af6ab5fSopenharmony_ci## ArkTS
313af6ab5fSopenharmony_ci
323af6ab5fSopenharmony_ci
333af6ab5fSopenharmony_ci```
343af6ab5fSopenharmony_ci
353af6ab5fSopenharmony_ci    interface Identity {
363af6ab5fSopenharmony_ci        id: number
373af6ab5fSopenharmony_ci        name: string
383af6ab5fSopenharmony_ci    }
393af6ab5fSopenharmony_ci
403af6ab5fSopenharmony_ci    interface Contact {
413af6ab5fSopenharmony_ci        email: string
423af6ab5fSopenharmony_ci        phoneNumber: string
433af6ab5fSopenharmony_ci    }
443af6ab5fSopenharmony_ci
453af6ab5fSopenharmony_ci    interface Employee extends Identity,  Contact {}
463af6ab5fSopenharmony_ci
473af6ab5fSopenharmony_ci```
483af6ab5fSopenharmony_ci
493af6ab5fSopenharmony_ci
50