ts 정적 속성, 정적 방법, 추상적 클래스, 다태적

2115 단어 TypeScript

정적 속성, 정적 방법

function Person(){
	this.run1 = function (){} //  , 
}

Person.run2 = function (){} //  , 
Person.name = 'lucy' //  
Person.run2() //  

정적 방법, 실례 방법의 jq에서의 응용
function $(element){
	return new Base(element)
}
$.get = function (){}
function Base(element){
	this.element = ' dom '
	this.css = function (attr, value){
		this.element.style[attr] = value
	}
}
$('#box').css('color', red)

ts에서 정적 방법 정의

class Person{
	public name:string
	public age:numer=20
	static sex = ' ' //  
	constructor(name:string){
		this.name = name
	}
	run () {
		console.log(`${this.name} `)
	}
	work(){
		console.log(`${this.name} `)
	}
	static print(){
		console.log('print '+Person.sex) //  , 
	}
}
var p = new Person('alex')
p.work()
p.run()
Person.sex //  
Person.print()

다태


부류는 하나의 방법을 정의하여 실현하지 않고 그의 자류를 계승하여 실현하도록 한다. 각 자류는 서로 다른 표현을 가지고 다태는 계승에 속한다.
class Animal{
	name:string
	constructor(name:string){
		this.name
	}
	/*  , ,
	  */
	eat(){
		console.log(' ')
	}
}

class Dog extends Animal{
	consturctor(name:string){
		super(name)
	}
	eat(){
		console.log(`${this.name} `)
	}
}
class Cat extends Animal{
	constructor(name:string){
		super(name)
	}
	eat(){
		console.log(`${this.name} `)
	}
}

ts의 추상적 클래스


ts의 추상 클래스: 이것은 다른 클래스의 계승을 제공하는 기류로 직접 실례화되어 abstract 키워드로 추상 클래스와 추상 방법을 정의할 수 없다. 추상 클래스의 추상 방법은 구체적인 실현을 포함하지 않고 파생 클래스에서 abstract 추상 방법을 실현해야 한다. 추상 클래스에만 추상 클래스와 추상 방법 정의 기준에 넣을 수 있다
/*  Animal eat  */
abstract class Animal{
	name:string
	constructor(name:string){
		this.name = name
	}
	abstract eat():any; //  
	run () {} //  	
}

class Dog extends Animal{
	constructor(name:string){
		super(name)
	}
	/*   */
	eat (){
		console.log(`${this.name} `)
	}
}

class Cat extends Animal{
	constructor(name:string){
		super(name)
	}
	eat(){
		console.log(`${this.name} `)
	}
}

var d = new Dog(' ')
d.eat()

var c = new Cat(' ')
c.eat()

좋은 웹페이지 즐겨찾기