Rate this post

Getters và setters là phương thức lớp đặc biệt được sử dụng để đọc và ghi quyền truy cập vào các thuộc tính của một đối tượng. Phương thức getter được sử dụng để đọc giá trị của biến hoặc truy xuất giá trị và phương thức setter được sử dụng để thiết lập hoặc khởi tạo các trường lớp tương ứng. Theo mặc định, tất cả các lớp được liên kết với phương thức getter và setter. Tuy nhiên, chúng ta có thể ghi đè các phương thức mặc định bằng cách định nghĩa phương thức getter và setter một cách rõ ràng.

Các bài viết liên quan:

Xác định một Getter

Chúng ta có thể xác định phương thức getters bằng cách sử dụng từ khóa get không có tham số là kiểu trả về hợp lệ.

Cú pháp:

return_type get field_name {  
}  

Xác định một Setter

Chúng ta có thể khai báo phương thức setter bằng cách sử dụng từ khóa set với một tham số và không có kiểu trả về.

Cú pháp:

set field_name{
    ...
}

Ví dụ:

class Student {
  String stdName = "";
  String branch = "";
  int stdAge = 0;
  String get getStdName => this.stdName;

  set setStdName(String stdName) => this.stdName = stdName;

  get getBranch => this.branch;

  set setBranch(branch) => this.branch = branch;

  get getStdAge => this.stdAge;

  set setStdAge(stdAge) => this.stdAge = stdAge;
}
void main() {
  Student std = new Student();
  std.setStdName = 'John';
  std.setStdAge = 24;
  std.setBranch = 'Khoa học Máy tính';

  print("Tên sinh viên là: ${std.getStdName}");
  print("Tuổi sinh viên là: ${std.getStdAge}");
  print("Nhánh sinh viên là: ${std.getBranch}");
}

Ví dụ – 2

class Vehicle {
  String makeDate = "";
  String modelName = "";
  int productionYear = 0;
  int carAge = 0;
  String color = "";
  String get getMakedate => this.makeDate;

  set setMakedate(String makedate) => this.makeDate = makedate;

  get getModelname => this.modelName;

  set setModelname(modelname) => this.modelName = modelname;

  get getProductionYear => this.productionYear;

  set setProductionYear(productionYear) => this.productionYear = productionYear;

  get getCarAge => this.carAge;

  set setCarAge(carAge) => this.carAge = carAge;

  get getColor => this.color;

  set setColor(color) => this.color = color;

  Vehicle(
      this.makeDate,
      this.modelName,
      this.productionYear,
      this.carAge,
      this.color
  );
}  
void  main () {  
  Vehicle c = Vehicle("1111", "11111", 12222, 2010, "Trắng");
  print("Công ty xe hơi là: ${c.modelName}");
  print("Tên model là: ${c.modelName}");
  print("Màu là: ${c.color}");
  c.carAge = 2020;
  print(c.carAge);
}  

Trong đoạn mã trên, chúng ta đã xác định phương thức getter và setter trước hàm tạo.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now