Typescript(四) 类的概念和使用 + 类的访问类型

1

类的概念和使用

1)
我们先写个基本的类,然后我们再使用一下

// 基本类的定义
class Cats {
  // 类里面写点内容
  content = "喵喵叫";
  // 类里面可以加方法
  // 返回 第一句的内容
  say() {
    return this.content;
  }
}
// 使用这个类
const op = new Cats();
// 打印类的say()方法
console.log(op);
console.log(op.say());

需要注意的是 直接打印op 和op.say()是不一样的
在这里插入图片描述
2)
类的继承

// 基本类的定义
class Cats {
  // 类里面写点内容
  content = "喵喵叫";
  // 类里面可以加方法
  // 返回 第一句的内容
  say() {
    return this.content;
  }
}

// 这个时候 Cats是父类   Ct 是 子类
// 子类 有父类的所有方法
class Ct extends Cats {
  sayLove() {
    return "love";
  }
}
// 使用这个类
// 这次我们使用的是 子类 Ct 
const op = new Ct();
// 打印类的say()方法

console.log(op.say());
console.log(op.sayLove());

打印结果很明显 和你想的一样
在这里插入图片描述

3)

类的重写

之前父类 里面的东西 在子类进行修改

class Ct extends Cats {
//  子类里面重新定义了一下 你应该可以看到
// 还是 say()方法 但是return 不一样
  say() {
    return "my honey";
  }
  sayLove() {
    return "love";
  }
}

结果 很明确 一起发生了改变
有点像 重新被赋值了
在这里插入图片描述

4)
super关键字

class Ct extends Cats {
// 这个地方 用到super 调用父类方法 并且加了 扩展""
// 厉不厉害
  say() {
    return super.say() + ".yes!";
  }
  sayLove() {
    return "love";
  }
}

我们尝试 看一下结果
非常成功 和我们想的一样
在这里插入图片描述
2

类的访问类型

1)
最简单的类

class Person {
  name: string;
}
// 这个地方常规写  const person = new Person()
// 我这个地方写的是 per 是因为 person之前使用过了 现在定义会报错
const per = new Person();
per.name = "xiaofu";
console.log(per.name);

结果我们都可以想到
在这里插入图片描述
2)
public 公开的 类的内部({ })和外部都可以使用

class Person {
  // 这个name默认前面加了 public
  public name: string;
  // 这个是我们添加的方法 
  public sayHello() {
    console.log(this.name + "sayhello");
  }
}
const per = new Person();
per.name = "xiaofu";
// 这个地方是外部的调用
per.sayHello();
console.log(per.name);

这个时候打印 会出现神奇的事情
当然有个前提需要 外部调用才行 即 per.sayHello();
在这里插入图片描述
3)
private 私密的 不公开的 继承也是不可以
只能在类的内部 也就是大括号里面 使用 外面时候的时候会报错
在这里插入图片描述
4)
protected 受保护的 类的内部使用 外部不能使用 继承的时候运行在外部使用
在这里插入图片描述

5)
protected 继承时可以在外部使用
这样使用是这样的

class Tercher extends Person{
    public sayBye(){
        return this.name;
    }
}

总结一下 :

1public  内部 外部
2protected   内部  外部继承可用
3private  内部使用 外部不可以(继承也不可以)

本节完

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值