Ad

Flutter: What Is The Name Of The Concept? Please Tell Me What To Look For Better Understanding

- 1 answer

class ApiResponse<T> {
  Status status;
  T? data;
  String? message;

  ApiResponse.initial(this.message) : status = Status.INITIAL; //i dont know what is happening here exactly. please explain.

  ApiResponse.loading(this.message) : status = Status.LOADING; //same

  ApiResponse.completed(this.data) : status = Status.COMPLETED; //same

  ApiResponse.error(this.message) : status = Status.ERROR; //same

  @override
  String toString() {
    return "Status : $status \n Message : $message \n Data : $data";
  }
}

enum Status { INITIAL, LOADING, COMPLETED, ERROR }

please check the comments. I commented what i dont understand. I am just trying to guess what is happening exactly. But i need to know better to start implementing it. Can anyone share videos or articles from where i can get a better understanding of this thing.

Ad

Answer

these are what are called named constructors they are most often used to set specific default values when building classes.

you could use your example as:

final apiResponse = ApiResponse<String>.initial("message");

this wil create a new instance of ApiResponse where status is equal to Status.INITIAL

Ad
source: stackoverflow.com
Ad