TypeScript - 클래스2
10974 단어 typescripttypescript
- 상속과 인터페이스와의 관계
interface Person {
name: string;
say(message: string): void;
}
interface Programmer {
writeCoder(requirement: string): string;
}
class KoreanProgrammer implements Person, Programmer {
constructor(public name: string) {
}
say(message: string): void {
console.log(message);
}
wrtieCode(requirement: string):string {
console.log(requirement);
return requirement + '...';
}
loveKimchi() {
console.log('love~kimchi~');
}
}
cnost jay = new KoreanProgrammer('jay');
- abstract 키워드를 통해 클래스를 정의하는 방법
abstract는 이 클래스가 아직 완성되지 않은 클래스라는 것을 말한다.
이 클래스를 꼭 인스턴스를 바로 만들수는 없지만 이 클래스를 통해서 다른 상속 받은 클래스를 통해서 다른 상속을 받은 클래스를 통해서 인스턴스를 만들 수 있다.
interface Person {
name: string;
say(message: string): void;
}
abstract class Korean implements Person {
public abstract jumin: number;
constructor(public name: string) {
}
say(msg: string) {
console.log(msg);
}
abstract loveKimchi(): void;
}
class KoreanProgrammer extends Korean implements Programmer {
constructor(public name: string, public jumin: number) {
super(name); //컨스트럭트를 주게 되면 부모클래스의 생성자를 호출해줘야 한다.
}
say(message: string): void {
console.log(message);
}
wrtieCode(requirement: string):string {
console.log(requirement);
return requirement + '...';
}
loveKimchi(): void {
throw new Error("Method not implemeted.");
}
}
const jay = new KoreanProgrammer('jay', 2222);
const jay2 = new Korean('jay');// 추상클래스의 인스턴스는 만들수 없다고 에러가 뜬다.
// 상속을 받아서 하이타입에서 추상클래스를 구성해야 하며, 그 결과로 하이타입을 인스턴스화 할 수 있다.
Author And Source
이 문제에 관하여(TypeScript - 클래스2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hey_jude/TypeScript-클래스2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)