1. TypeScript 哪些技能基于类?
TypeScript 类是 OOP 的技术基石,包括类、属性封装丶继承、多态、抽象丶泛型。紧密关联的技术包括方法重写,方法重载,构造器,构造器重载,类型守卫,自定义守卫,静态方法、属性,关联引用属性,多种设计模式等。
oop一般指面向对象程序设计。 面向对象程序设计(Object Oriented Programming)作为一种新方法,其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。
2. 什么是类
定义:类就是拥有相同属性和方法的一系列对象的集合,类是一个摸具,是从这该类包含的所有具体对象中抽象出来的一个概念,类定义了它所包含的全体对象的静态特征和动态特征。
类有静态特征和动态特征【以大家最熟悉的人类为例】
静态特征【软件界叫属性】姓名,年龄,地址,身份证号码,联系方式,家庭地址,微信号
动态特征【软件界叫方法】吃饭,走路
【再看桌子类】
静态特征【属性】高度,宽度,颜色,价格,品牌,材质
动态特征【方法】承载
【来看订单类】
静态特征 【属性】 订单号【订单id】,下单时间,下单顾客,订单详情,顾客微信,收件地址,负责客服
动态特征 【方法】 下单,修改订单,增加订单,删除订单,查询订单,退单 【这一些方法真正开发会归为OrderService 类】 但从广义来说都同属于订单系列类的方法。
- 举个🌰
// 姓名 年龄 身份证号码 联系方式 家庭地址 微信号 class Person { // 静态属性 // public name: string = 'noname' // 姓名,初始值为noname public age: number = 0 // 年龄,初始值为0 public idcard: string = '0' // 身份证,初始值为0 public phone: string = '13000000000'// 联系方式,初始值为13000000000 public addr: string = '广东省深圳市' // 家庭地址,初始值为广东省深圳市 public wx: string = 'xiaohe' // 微信号,初始值为xiaohe // 对象的变量 = 实例的变量 = 类的(非静态)属性 = 简称属性 // 实例属性或者对象属性 // 有部分属性如果不需要修改,那么可以不传,直接获取默认值。 constructor(_name: string, _age: number, _phone: string) { this.name = _name this.age = _age this.phone = _phone } // 定义公开的方法 public playGameFn(wath: string, who: string, address: string): void { console.log(`${ this.name }和${ who }在${ address }里玩${ wath }`) } } const zs = new Person('张三', 18, '13000000001') zs.playGameFn('超级马里奥', '李四', '科兴科技园') console.log(zs) 复制代码
网络异常,图片无法展示
|