Property '_object' is private and only accessible within class 'Tween<T>'. 报错,怎么通过别的方法访问
时间: 2023-11-27 08:55:34 浏览: 34
这个报错是因为你试图在 `Tween` 类的外部访问私有成员变量 `_object`。在 TypeScript 中,私有成员只能在类内部访问,而不能在类外部访问。
如果你想在类外部访问 `_object`,你可以添加一个公共方法或者访问器(getter),然后通过调用该方法或者访问器来访问私有成员变量。
例如,你可以在 `Tween` 类中添加一个公共方法 `getObject()`,该方法返回私有成员变量 `_object`:
```typescript
class Tween<T> {
private _object: T;
constructor(object: T) {
this._object = object;
}
public getObject(): T {
return this._object;
}
//...
}
```
然后你就可以在类外部通过调用 `getObject()` 方法来访问私有成员变量 `_object`,例如:
```typescript
const myObject = new MyObject();
const myTween = new Tween(myObject);
const object = myTween.getObject(); // 访问私有成员变量 _object
```
如果你想访问私有成员变量 `_object` 的值,但是又不想暴露一个公共的方法或者访问器,你可以考虑使用 TypeScript 中的反射技术,例如使用 `Reflect.get()` 方法来访问私有成员变量的值:
```typescript
const myObject = new MyObject();
const myTween = new Tween(myObject);
const object = Reflect.get(myTween, '_object'); // 访问私有成员变量 _object
```
但是这种做法可能会降低代码的可读性和可维护性,因此不建议经常使用。