Gọi phương thức khởi tạo của lớp cơ sở

Một phần của tài liệu Lập trình hướng đối tượng với C docx (Trang 83 - 84)

Trong ví trên một lớp mới tên là LuongMoi được dẫn xuất từ lớp cơ sở Luong, lớp LuongMoi có hai phương thức khởi tạo một phương thức khởi tạo không tham số và một

phương thức khởi tạo ba tham số. Trong hai phương thức khởi tạo của lớp dẫn xuất này có gọi phương thức khởi tạo của lớp cơ sở. Cách gọi được thực hiện bằng việc đặt dấu hai chấm ngay sau phần khai báo danh sách tham số và tham chiếu đến lớp cơ sở thông qua từ khóa base:

public LuongMoi(): base() {

HeSoPhuCap = 0.4; }

public LuongMoi(int lcb, double hsl, double hspc): base(lcb, hsl) {

HeSoPhuCap = hspc; }

Bởi vì các lớp không được kế thừa các phương thức khởi dựng của lớp cơ sở, do đó lớp dẫn xuất phải thực thi phương thức khởi dựng riêng của nó. Và chỉ có thể sử dụng phương thức khởi dựng của lớp cơ sở thông qua việc gọi tường minh.

Một điều lưu ý trong ví dụ trên là việc lớp LuongMoi thực thi một phiên bản mới của phương thức Nhap() và TinhLuong():

public new void Nhap()

và public new double TinhLuong()

Từ khóa new được sử dụng ở đây để chỉ ra rằng người lập trình đang tạo ra một phiên bản mới cho phương thức này bên trong lớp dẫn xuất. Nếu lớp cơ sở có phương thức khởi dựng mặc định, thì lớp dẫn xuất không cần bắt buộc phải gọi phương thức khởi dựng của lớp cơ sở một cách tường minh. Thay vào đó phương thức khởi dựng mặc định của lớp cơ sở sẽ được gọi một cách ngầm định. Tuy nhiên, nếu lớp cơ sở không có phương thức khởi dựng mặc định, thì tất cả các lớp dẫn xuất của nó phải gọi phương thức khởi dựng của lớp cơ sở một cách tường minh thông qua việc sử dụng từ khóa base.

Một phần của tài liệu Lập trình hướng đối tượng với C docx (Trang 83 - 84)

Tải bản đầy đủ (PDF)

(142 trang)