We have covered typescript interface and class in our previous tutorials.
Lets have a closer look at their differences:
Parameter | TypeScript Class | TypeScript Interface |
---|---|---|
Definition | TypeScript Class is a template which holds methods,variables and provides a skeleton to object. | TypeScript Interface is a blueprint which will tell a deriving class what to implement. |
Syntax | class <className>{ //body } | interface <iName>{ //declarations } |
Practical Usage | To design a skeleton of modules functionality wise | To hide a complexity from external accessing resource and securing core logic |
Instantiable | We can Instantiate class using its object | We can not instantiate interface |
Inheritance | Class supports inheritance by extending other class | Supports inheritance but can not implement other interfaces |
Functions | Class can have functions and function has complete definition | Interface can have function but it can not define it |
Constructor | Class can have constructor | NA |
Access Specifiers | Class can public, private, protected | Interface uses only public access specifier. |