当前位置:网站首页>Introduction to TS, constructor and its this, inheritance, abstract class and interface
Introduction to TS, constructor and its this, inheritance, abstract class and interface
2022-07-05 20:57:00 【qq_ forty-six million three hundred and two thousand two hundre】
Class
class Person{
// No, static Keywords are the attributes and methods of the instance , It can only be accessed and modified through instances 、 call
name: string = 'tm' // Equate to name='tm'
age: number = 18 // Equate to age=18
// Yes readonly Keyword is a read-only property , Do not modify
// readonly age: number = 18
sayHellow() {
console.log('hellow');
}
// Yes static Keyword is a class attribute ( Static attribute ) And class methods ( Static methods ), It can only be accessed and modified through the class name 、 call
static sex: string = ' Woman ' // Equate to static sex=' Woman '
// readonly When decorating class properties , Must be on static Back
// static readonly sex: string = ' Woman '
static sayHellow() {
console.log('static--hellow');
}
}
console.log(Person.sex);// Woman
Person.sayHellow() //static--hellow
const person1 = new Person()
console.log(person1.name, person1.age); //tm 18
person1.sayHellow()//hellow
Constructor and its this
class Dog{
name: string
age: number
// this Always point to the current instance object
constructor(name: string, age: number) {
this.name = name
this.age = age
}
// this Always point to the current call instance object
bark() {
console.log(this.name);
}
}
// Once the use new Create objects , Will call Dog Of constructor Method
const dog1 = new Dog(' Little black ', 3)
const dog2 = new Dog(' The small white ', 6)
dog1.bark() // Little black
dog2.bark() // The small white
Inheritance and abstract classes
//abstract Keyword decorated class is abstract class , Abstract classes are classes that are designed to be inherited , Can't be used to create objects
abstract class Animal{
name: string
age: number
constructor(name: string, age: number) {
this.name = name
this.age = age
}
//abstract The method of keyword modification is abstract method , Abstract methods have no method bodies , Abstract methods can only be defined in abstract classes , Subclasses must override abstract methods
abstract sayHellow():void
}
// If used extends keyword , be Animal Parent class ,Dog Subclass ; It is equivalent to copying the properties and methods of the parent class into the child class
class Dog extends Animal{
// Subclasses can also add methods and properties by themselves
sex: string
constructor(name: string, age: number, sex: string) {
super(name, age)// Call the constructor of the parent class
this.sex = sex
}
sayHellow() {
console.log(' The dog is barking ');
}
run() {
console.log(' The dog is running ');
}
}
class Car extends Animal{
// Override of parent method
sayHellow() {
console.log(' The cat is barking ');
}
}
const dog = new Dog(' Dogs ', 5, ' Woman ')
console.log(dog.sex); // Woman
dog.sayHellow()// The dog is barking
dog.run()// The dog is running
const car = new Car(' Cat and cat ', 2)
car.sayHellow()// The cat is barking
Interface
// All attributes in an interface cannot have actual values , All methods are abstract methods
// Interface is mainly to define a certain standard , Restricted classes must meet this standard
// Interface is ts Peculiar ,js There is no concept of interface in
interface myInter{
name: string
sayHellow():void // The function does not return a value
}
class MyClass implements myInter{
name: string
constructor(name: string) {
this.name = name
}
sayHellow() {
console.log('aaa')
}
}
边栏推荐
- AITM2-0002 12s或60s垂直燃烧试验
- Is Kai Niu 2980 useful? Is it safe to open an account
- 珍爱网微服务底层框架演进从开源组件封装到自研
- Which is the best online collaboration product? Microsoft loop, notion, flowus
- 挖财商学院给的证券账户安全吗?可以开户吗?
- Abnova total RNA Purification Kit for cultured cells Chinese and English instructions
- PVC 塑料片BS 476-6 火焰传播性能测定
- 渗透创客精神文化转化的创客教育
- 解析五育融合之下的steam教育模式
- Analyze the knowledge transfer and sharing spirit of maker Education
猜你喜欢

Which is the best online collaboration product? Microsoft loop, notion, flowus

Abnova丨E (DIII) (WNV) 重组蛋白 中英文说明书

Abnova maxpab mouse derived polyclonal antibody solution

Typhoon is coming! How to prevent typhoons on construction sites!

PHP反序列化+MD5碰撞

PVC 塑料片BS 476-6 火焰传播性能测定

CADD course learning (7) -- Simulation of target and small molecule interaction (semi flexible docking autodock)

Talk about my fate with some programming languages

Abnova e (diii) (WNV) recombinant protein Chinese and English instructions

Wanglaoji pharmaceutical's public welfare activity of "caring for the most lovely people under the scorching sun" was launched in Nanjing
随机推荐
研學旅遊實踐教育的開展助力文旅產業發展
基于flask写一个接口
How to open an account online for futures? Is it safe?
Which is the best online collaboration product? Microsoft loop, notion, flowus
Duchefa low melting point agarose PPC Chinese and English instructions
Web Service简单入门示例
Chemical properties and application instructions of prosci Lag3 antibody
国外LEAD美国简称对照表
How to make ERP inventory accounts of chemical enterprises more accurate
Promouvoir le développement de l'industrie culturelle et touristique par la recherche, l'apprentissage et l'enseignement pratique du tourisme
Abnova 环孢素A单克隆抗体,及其研究工具
解析五育融合之下的steam教育模式
Abnova fluorescent dye 620-m streptavidin scheme
序列联配Sequence Alignment
教你自己训练的pytorch模型转caffe(三)
显示器要申请BS 476-7 怎么送样?跟显示屏一样吗??
Is it necessary for bazel to learn
Monorepo management methodology and dependency security
How to renew NPDP? Here comes the operation guide!
ProSci LAG3抗体的化学性质和应用说明