readonly map: DrawableMap; /** * 与えられたすべての座標の位置を地図上にマークする * * リストのリストを受け入れる。内部のリストには正確に2つの値が含ま * 1番目の値は緯度、2番目の値は経度 (両方とも度) */ markLocationsOnMap(locations: Array<[number, number]>): for (const location of locations) { this.map.markLocation(location[0], location[1]) } } } /** 緯度と経度を度数で表す */ class LatLong { constructor( private readonly latitude: number, private readonly longitude: number) {} getLatitude = () => this.latitude; getLongitude =() => this.longitude; } } class LocationDisplay { private readonly map: DrawableMap; markLocationsOnMap(locations: LatLong[]): void { for (const location of locations) { this.map.markLocation(location.getLatitude,loca } } } 契約の中の細則(コメント)でカバーしようとしている 何を表しているかが明確なため誤用を避けられる