/**
* Access Modifier:访问修饰符
* public、private、protected、访问修饰符,使用时不可使用?缺省可选
* 默认:public
*/
// 接口
interface IPoint {
// x: number,
// y: number,
drawPoint: () => void,
getDistance: (p: IPoint) => number,
X: number,
Y: number,
// getX: () => number,
// getY: () => number,
// setX: (value) => void,
// setY: (value) => void,
}
// 类
class Point implements IPoint {
//
constructor(private x: number, private y: number) {
// this.x = x
// this.y = y
}
drawPoint = () => {
console.log('x:', this.x, 'y:', this.y); // x: 10 y: 1024
}
getDistance = (p: IPoint) => {
// 计算两点距离:两点间平方和
return Math.pow(p.X - this.x, 2) + Math.pow(p.Y - this.y, 2)
}
// get、set懒人包用法
set X(value: number) {
if (value < 0) {
throw new Error('value不能小于0')
}
this.x = value
}
get X() {
return this.x
}
set Y(value: number) {
if (value < 0) {
throw new Error('value不能小于0')
}
this.y = value
}
get Y() {
return this.y
}
}
// Access Modifier:访问修饰符
let point = new Point(1024, 100) // 对象object,实例instance
// point.setX(10)
// point.setX(-9)
// console.log(point.getX()); // 10
point.X = 10
point.Y = 1024
console.log(point.X, point.Y, '---'); // 10,1024
point.drawPoint()
TypeScript——TypeScript中的访问修饰符Access Modifier
最新推荐文章于 2024-08-27 16:58:03 发布