2. TS中类的使用
  1. 类的基本使用及super的作用
  2. 访问类型
  3. 构造函数 constructor
  4. get和set属性
  5. 抽象类和方法

类的使用及super的作用

class User{
   name = "龚箭";
   getName(){
       return this.name
  }
}
const xiaojiejie = new User();
console.log(xiaojiejie.getName()); // 龚箭s

super的使用

super的作用在于调用父类的constrctor函数,也可以使用super.xxx 直接访问类上面的属性

class User{
   name="龚箭";
   getName(){
       return this.name
  }
}
class Teacher extends Person{
   getTeacherNama(){
       return 'Teacher'
  }
   getName(){
       return super.getName()+'web'
  }
}
const teacher = new Teacher();
console.log(teacher.getName()) // 龚箭web

访问类型

  • private 只允许在类中使用
  • protected 只允许在类内或者继承的子类中使用
  • public 在内外都可以使用
  • static 直接挂载类上面,而非实例上
class User{
   private  name = "龚箭";
   private sayHi(){
       console.log(`${this.name} hello`)
  }
}
class Teacher() extends User{
   sayBye(){
       this.sayHi()
  }
}
let xxx = new Teacher()
xxx.sayBye()

构造函数 constructor

class Person{
   public name:string;
   constructor(name:string){
       this.name = name
  }
}
// 简写
class Person{
   constructor(public name:string){}
}
// 使用
let xxx = new Person("龚箭")

get和set属性

注意 getter 和 setter 定义的属性是不用函数的方式调用的,只需要点操作符就可

class User{
   constructor(private name:string){}
   get getName(){
       return this.name +"web"
  }
   set setName(newName){
       this.name = newName
  }
}
const person = new Person('龚箭')
console.log(person.getName)
person.setName = "学习"
console.log(person.getName)

抽象类和方法

抽象类和方式,是一种编程思想,并不是特定的语法

本质的作用就是将多个类型中同样的属性和方法抽离出来,创建新类.并通过继承的方式下放到各个子类中

interface Person {
 name: string;
}

interface Teacher extends Person {
 teachingAge: number;
}

interface Student extends Person {
 age: number;
}

interface Driver {
 name: string;
 age: number;
}

const teacher = {
 name: 'dell',
 teachingAge: 3
};

const student = {
 name: 'lee',
 age: 18
};

const getUserInfo = (user: Person) => {
 console.log(user.name);
};

getUserInfo(teacher);
getUserInfo(student);
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇