UNPKG

ahmedanwaraliitilab3

Version:

115 lines (100 loc) 2.9 kB
class FlightTicket { #seatNum; #flightNum; #departureAirport; #arrivalAirport; #travellingDate; static usersTickets = [] constructor(obj = {seatNum: 0, flightNum: 0, departureAirport: "", arrivalAirport: "", travellingDate: ""}) { this.#seatNum = obj.seatNum; this.#flightNum = obj.flightNum; this.#departureAirport = obj.departureAirport; this.#arrivalAirport = obj.arrivalAirport; this.#travellingDate = obj.travellingDate; FlightTicket.usersTickets.push(obj) } set seatNumber(seatNum) { if (!isNaN(seatNum)) { this.#seatNum = seatNum } else { throw new TypeError("Value must be a NUMBER") } } set flightNum(flightNum) { if (!isNaN(flightNum)) { this.#flightNum = flightNum } else { throw new TypeError("Value must be a NUMBER") } } set departureAirport(departureAirport) { if (typeof departureAirport === "string") { this.#departureAirport = departureAirport } else { throw new TypeError("Value must be a String") } } set arrivalAirport(arrivalAirport) { if (typeof arrivalAirport === "string") { this.#arrivalAirport = arrivalAirport } else { throw new TypeError("Value must be a String") } } set travellingDate(travellingDate) { if (typeof travellingDate === "string") { this.#travellingDate = travellingDate } else { throw new TypeError("Value must be a String") } } get seatNumber() { return this.#seatNum } get flightNum() { return this.#flightNum } get departureAirport() { return this.#departureAirport } get arrivalAirport() { return this.#arrivalAirport } get travellingDate() { return this.#travellingDate } displayTicket() { let ticket = { seatNumber: this.#seatNum, flightNumber: this.#flightNum, departureAirport: this.#departureAirport, arrivalAirport: this.#arrivalAirport, travellingDate: this.#travellingDate } console.log(ticket) } static getAllTickets() { return FlightTicket.usersTickets } } // let ticket1 = { // seatNum : 5, // flightNum : 6, // departureAirport : "Alexandria", // arrivalAirport : "Cairo", // travellingDate : "15/6/2022" // } // // let ticket2 = { // seatNum : 1, // flightNum : 2, // departureAirport : "San Francisco", // arrivalAirport : "New york", // travellingDate : "26/8/2021" // } // // let user1 = new FlightTicket(ticket1) // let user2 = new FlightTicket(ticket2) // user1.displayTicket() // user2.displayTicket() module.exports = FlightTicket;