找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2004|回复: 12

C#编程中class关键字的使用方法

 火.. [复制链接]
  • 打卡等级:即来则安
  • 打卡总天数:27
  • 打卡月天数:6
  • 打卡总奖励:7736
  • 最近打卡:2025-12-20 00:35:11

3317

主题

285

回帖

2万

积分

管理员

积分
23881
发表于 2021-6-27 18:05:15 | 显示全部楼层 |阅读模式
作用:class关键字是原型对象的一个语法糖,让原型对象更加清晰class类的特点
  • 定义的class类,它的数据类型是函数,类名是指向其构造函数的索引,即生成的实例是构造函数的实例
  • new class名()创建一个实例对象,该实例对象是由构造函数初始化的,所以他的属性是构造函数包含的属性,构造函数外面的就是继承属性了
  • class类体里边有一个构造函数,即constructor(){}函数,如果没有定义会自动生成一个空的constructor函数
  • class里面的函数不需要关键系function定义,直接函数名就可以
  • __prpto__指向构造方法的原型对象
  • hasOwnProperty判断一个对象中是否含有属性和方法,返回布尔类型
静态方法
  • 在函数前添加static关键字,声明改为静态方法,静态方法不用实例化就可以通过类名直接调用,非静态方法必须通过实例化之后才可以调用
  • 静态方法是不可以被实例对象继承的,所以类创建的对象不可以调用静态方法或静态属性,会报错
  • 静态方法可以直接被类调用,即类名.静态方法的方式
  • 静态方法中的this值指向类而非实例
  • 静态方法和非静态方法可以重名显示
静态属性(ES6暂不支持,ES7有提案,需babel转换)
  • 在属性前面添加static关键字是不可以将属性变为静态属性的,所谓的静态属性指的是,该属性是类的属性而不是实例化的属性,即不需要实例化就可以方法的属性
class Person {    static type = '人类'    constructor(name,age){        this.name = name        this.age = age    }    getName(){        return this.name    }    getAge(){        return this.age    }}类的继承
  • class继承就用extends
class students extends Person{    super('老刘',20) //Parent.constructor.call(this,'老刘',20);}TS中class用法class Person {  name: string  static sex: string = '男'  public gy = '公有的'  //默认是公有的,可以被任何地方访问  private sy = '私有的' //只能在当前类内部访问  protected bh: string = '保护的'   //只能在当前类内部和子类内部访问  constructor(n: string) {    this.name = n    console.log('保护1', this.bh)  }  static setSex(): string {     //static属性要和static方法配合使用    return this.sex  }  syFun(val: string) {    this.sy = val    return this.sy  }}class person extends Person {  constructor(n: string) {    super(n)    console.log(this.gy)    console.log('保护2', this.bh)  }}const p1 = new Person('欧文')const p2 = new person('詹姆斯')
工控课堂 www.gkket.com

0

主题

144

回帖

463

积分

注册会员

积分
463
发表于 2021-6-27 18:05:15 | 显示全部楼层
看到这帖子真是高兴!
工控课堂 www.gkket.com

0

主题

1672

回帖

4321

积分

金牌会员

积分
4321
发表于 2021-7-2 12:53:47 | 显示全部楼层
感恩无私的分享与奉献
工控课堂 www.gkket.com

0

主题

129

回帖

312

积分

注册会员

积分
312
发表于 2025-11-13 03:12:04 | 显示全部楼层
蹲一波同款,有没有姐妹 / 兄弟推荐?
工控课堂 www.gkket.com

0

主题

100

回帖

152

积分

新手上路

积分
152
发表于 2025-11-13 03:42:28 | 显示全部楼层
来凑个热闹,为楼主增加点人气!
工控课堂 www.gkket.com

0

主题

102

回帖

159

积分

新手上路

积分
159
发表于 2025-11-13 03:53:19 | 显示全部楼层
楼主太会说了,字字句句都在理~
工控课堂 www.gkket.com

0

主题

105

回帖

161

积分

新手上路

积分
161
发表于 2025-11-14 02:49:32 | 显示全部楼层
赞同 + 10086,完全说出了我的想法!
工控课堂 www.gkket.com
  • 打卡等级:即来则安
  • 打卡总天数:29
  • 打卡月天数:1
  • 打卡总奖励:7791
  • 最近打卡:2025-12-13 17:25:16

2540

主题

1353

回帖

2万

积分

管理员

积分
21301
发表于 2025-11-14 04:53:22 | 显示全部楼层
理性围观,感觉大家说的都有道理~
工控课堂 www.gkket.com

0

主题

106

回帖

167

积分

新手上路

积分
167
发表于 2025-11-14 11:45:53 | 显示全部楼层
笑不活了,评论区比正文还精彩
已转发给朋友,一起快乐一下
工控课堂 www.gkket.com
  • 打卡等级:即来则安
  • 打卡总天数:29
  • 打卡月天数:1
  • 打卡总奖励:7791
  • 最近打卡:2025-12-13 17:25:16

2540

主题

1353

回帖

2万

积分

管理员

积分
21301
发表于 2025-11-14 12:47:48 | 显示全部楼层
水个经验,楼主加油,支持你~
工控课堂 www.gkket.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|手机版|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 )

GMT+8, 2025-12-22 12:58 , Processed in 0.085411 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表